├── docs ├── @pages │ └── archivesPage.md ├── .vuepress │ ├── public │ │ ├── js │ │ │ └── pgmanor-self.js │ │ └── fonts │ │ │ └── LXGWWenkai │ │ │ ├── JetBrainsMono-Regular.ttf │ │ │ ├── JetBrainsMono-Regular.woff │ │ │ ├── JetBrainsMono-Regular.woff2 │ │ │ ├── lxgwwenkai-regular-subset-4.woff2 │ │ │ ├── lxgwwenkai-regular-subset-5.woff2 │ │ │ ├── lxgwwenkai-regular-subset-6.woff2 │ │ │ ├── lxgwwenkai-regular-subset-100.woff2 │ │ │ ├── lxgwwenkai-regular-subset-101.woff2 │ │ │ ├── lxgwwenkai-regular-subset-102.woff2 │ │ │ ├── lxgwwenkai-regular-subset-103.woff2 │ │ │ ├── lxgwwenkai-regular-subset-104.woff2 │ │ │ ├── lxgwwenkai-regular-subset-105.woff2 │ │ │ ├── lxgwwenkai-regular-subset-106.woff2 │ │ │ ├── lxgwwenkai-regular-subset-107.woff2 │ │ │ ├── lxgwwenkai-regular-subset-108.woff2 │ │ │ ├── lxgwwenkai-regular-subset-109.woff2 │ │ │ ├── lxgwwenkai-regular-subset-110.woff2 │ │ │ ├── lxgwwenkai-regular-subset-111.woff2 │ │ │ ├── lxgwwenkai-regular-subset-112.woff2 │ │ │ ├── lxgwwenkai-regular-subset-113.woff2 │ │ │ ├── lxgwwenkai-regular-subset-114.woff2 │ │ │ ├── lxgwwenkai-regular-subset-115.woff2 │ │ │ ├── lxgwwenkai-regular-subset-116.woff2 │ │ │ ├── lxgwwenkai-regular-subset-117.woff2 │ │ │ ├── lxgwwenkai-regular-subset-118.woff2 │ │ │ ├── lxgwwenkai-regular-subset-119.woff2 │ │ │ ├── lxgwwenkai-regular-subset-21.woff2 │ │ │ ├── lxgwwenkai-regular-subset-22.woff2 │ │ │ ├── lxgwwenkai-regular-subset-23.woff2 │ │ │ ├── lxgwwenkai-regular-subset-24.woff2 │ │ │ ├── lxgwwenkai-regular-subset-25.woff2 │ │ │ ├── lxgwwenkai-regular-subset-26.woff2 │ │ │ ├── lxgwwenkai-regular-subset-27.woff2 │ │ │ ├── lxgwwenkai-regular-subset-28.woff2 │ │ │ ├── lxgwwenkai-regular-subset-29.woff2 │ │ │ ├── lxgwwenkai-regular-subset-30.woff2 │ │ │ ├── lxgwwenkai-regular-subset-31.woff2 │ │ │ ├── lxgwwenkai-regular-subset-32.woff2 │ │ │ ├── lxgwwenkai-regular-subset-33.woff2 │ │ │ ├── lxgwwenkai-regular-subset-34.woff2 │ │ │ ├── lxgwwenkai-regular-subset-35.woff2 │ │ │ ├── lxgwwenkai-regular-subset-36.woff2 │ │ │ ├── lxgwwenkai-regular-subset-37.woff2 │ │ │ ├── lxgwwenkai-regular-subset-38.woff2 │ │ │ ├── lxgwwenkai-regular-subset-39.woff2 │ │ │ ├── lxgwwenkai-regular-subset-40.woff2 │ │ │ ├── lxgwwenkai-regular-subset-41.woff2 │ │ │ ├── lxgwwenkai-regular-subset-42.woff2 │ │ │ ├── lxgwwenkai-regular-subset-43.woff2 │ │ │ ├── lxgwwenkai-regular-subset-44.woff2 │ │ │ ├── lxgwwenkai-regular-subset-45.woff2 │ │ │ ├── lxgwwenkai-regular-subset-46.woff2 │ │ │ ├── lxgwwenkai-regular-subset-47.woff2 │ │ │ ├── lxgwwenkai-regular-subset-48.woff2 │ │ │ ├── lxgwwenkai-regular-subset-49.woff2 │ │ │ ├── lxgwwenkai-regular-subset-50.woff2 │ │ │ ├── lxgwwenkai-regular-subset-51.woff2 │ │ │ ├── lxgwwenkai-regular-subset-52.woff2 │ │ │ ├── lxgwwenkai-regular-subset-53.woff2 │ │ │ ├── lxgwwenkai-regular-subset-54.woff2 │ │ │ ├── lxgwwenkai-regular-subset-55.woff2 │ │ │ ├── lxgwwenkai-regular-subset-56.woff2 │ │ │ ├── lxgwwenkai-regular-subset-57.woff2 │ │ │ ├── lxgwwenkai-regular-subset-58.woff2 │ │ │ ├── lxgwwenkai-regular-subset-59.woff2 │ │ │ ├── lxgwwenkai-regular-subset-60.woff2 │ │ │ ├── lxgwwenkai-regular-subset-61.woff2 │ │ │ ├── lxgwwenkai-regular-subset-62.woff2 │ │ │ ├── lxgwwenkai-regular-subset-63.woff2 │ │ │ ├── lxgwwenkai-regular-subset-64.woff2 │ │ │ ├── lxgwwenkai-regular-subset-65.woff2 │ │ │ ├── lxgwwenkai-regular-subset-66.woff2 │ │ │ ├── lxgwwenkai-regular-subset-67.woff2 │ │ │ ├── lxgwwenkai-regular-subset-68.woff2 │ │ │ ├── lxgwwenkai-regular-subset-69.woff2 │ │ │ ├── lxgwwenkai-regular-subset-70.woff2 │ │ │ ├── lxgwwenkai-regular-subset-71.woff2 │ │ │ ├── lxgwwenkai-regular-subset-72.woff2 │ │ │ ├── lxgwwenkai-regular-subset-73.woff2 │ │ │ ├── lxgwwenkai-regular-subset-74.woff2 │ │ │ ├── lxgwwenkai-regular-subset-75.woff2 │ │ │ ├── lxgwwenkai-regular-subset-76.woff2 │ │ │ ├── lxgwwenkai-regular-subset-77.woff2 │ │ │ ├── lxgwwenkai-regular-subset-78.woff2 │ │ │ ├── lxgwwenkai-regular-subset-79.woff2 │ │ │ ├── lxgwwenkai-regular-subset-80.woff2 │ │ │ ├── lxgwwenkai-regular-subset-81.woff2 │ │ │ ├── lxgwwenkai-regular-subset-82.woff2 │ │ │ ├── lxgwwenkai-regular-subset-83.woff2 │ │ │ ├── lxgwwenkai-regular-subset-84.woff2 │ │ │ ├── lxgwwenkai-regular-subset-85.woff2 │ │ │ ├── lxgwwenkai-regular-subset-86.woff2 │ │ │ ├── lxgwwenkai-regular-subset-87.woff2 │ │ │ ├── lxgwwenkai-regular-subset-88.woff2 │ │ │ ├── lxgwwenkai-regular-subset-89.woff2 │ │ │ ├── lxgwwenkai-regular-subset-90.woff2 │ │ │ ├── lxgwwenkai-regular-subset-91.woff2 │ │ │ ├── lxgwwenkai-regular-subset-97.woff2 │ │ │ ├── lxgwwenkai-regular-subset-98.woff2 │ │ │ └── lxgwwenkai-regular-subset-99.woff2 │ ├── config │ │ ├── themeConfig │ │ │ ├── nav.js │ │ │ └── htmlModules.js │ │ ├── head.js │ │ ├── plugins.js │ │ └── themeConfig.js │ ├── config.js │ ├── enhanceApp.js │ └── styles │ │ └── palette.styl ├── 09.nine │ └── 01.留言板.md ├── 00.目录页 │ ├── 01.one.md │ ├── 02.two.md │ └── 03.three.md ├── 03.three │ └── 01.three-test.md ├── index.md ├── 01.one │ └── 01.三步上篮配置文档.md └── 02.two │ ├── 02.two-test-2.md │ └── 01.two-test-1.md ├── .gitignore ├── utils ├── config.yml ├── modules │ ├── fn.js │ └── readFileList.js ├── baiduPush.js └── editFrontmatter.js ├── .github └── workflows │ └── build-deploy.yml ├── LICENSE ├── package.json └── README.md /docs/@pages/archivesPage.md: -------------------------------------------------------------------------------- 1 | --- 2 | archivesPage: true 3 | title: 归档 4 | permalink: /archives/ 5 | article: false 6 | --- -------------------------------------------------------------------------------- /docs/.vuepress/public/js/pgmanor-self.js: -------------------------------------------------------------------------------- 1 | // vuepress-plugin-fulltext-search 添加全局配置 2 | SEARCH_MAX_SUGGESTIONS = 10; 3 | SEARCH_PATHS = []; 4 | SEARCH_HOTKEYS = ['s', 'i']; -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/JetBrainsMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/JetBrainsMono-Regular.ttf -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/JetBrainsMono-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/JetBrainsMono-Regular.woff -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/JetBrainsMono-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/JetBrainsMono-Regular.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-4.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-4.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-5.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-5.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-6.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-6.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-100.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-100.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-101.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-101.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-102.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-102.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-103.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-103.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-104.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-104.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-105.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-105.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-106.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-106.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-107.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-107.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-108.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-108.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-109.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-109.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-110.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-110.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-111.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-111.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-112.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-112.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-113.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-113.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-114.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-114.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-115.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-115.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-116.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-116.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-117.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-117.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-118.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-118.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-119.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-119.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-21.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-21.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-22.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-22.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-23.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-23.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-24.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-24.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-25.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-25.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-26.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-26.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-27.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-27.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-28.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-28.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-29.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-29.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-30.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-30.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-31.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-31.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-32.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-32.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-33.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-33.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-34.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-34.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-35.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-35.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-36.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-36.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-37.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-37.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-38.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-38.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-39.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-39.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-40.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-40.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-41.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-41.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-42.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-42.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-43.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-43.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-44.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-44.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-45.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-45.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-46.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-46.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-47.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-47.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-48.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-48.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-49.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-49.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-50.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-50.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-51.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-51.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-52.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-52.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-53.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-53.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-54.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-54.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-55.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-55.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-56.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-56.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-57.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-57.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-58.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-58.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-59.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-59.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-60.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-60.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-61.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-61.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-62.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-62.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-63.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-63.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-64.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-64.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-65.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-65.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-66.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-66.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-67.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-67.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-68.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-68.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-69.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-69.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-70.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-70.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-71.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-71.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-72.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-72.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-73.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-73.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-74.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-74.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-75.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-75.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-76.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-76.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-77.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-77.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-78.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-78.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-79.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-79.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-80.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-80.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-81.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-81.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-82.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-82.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-83.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-83.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-84.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-84.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-85.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-85.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-86.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-86.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-87.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-87.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-88.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-88.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-89.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-89.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-90.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-90.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-91.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-91.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-97.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-97.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-98.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-98.woff2 -------------------------------------------------------------------------------- /docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-99.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eryajf/vdoing-template/HEAD/docs/.vuepress/public/fonts/LXGWWenkai/lxgwwenkai-regular-subset-99.woff2 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # npm 2 | package-lock.json 3 | node_modules 4 | 5 | # yarn 6 | yarn.lock 7 | 8 | # vscode 9 | .vscode 10 | 11 | # vuepress 12 | docs/.vuepress/dist 13 | 14 | # 百度链接推送 15 | urls.txt 16 | 17 | # mac 18 | .DS_Store 19 | yarn-error.log -------------------------------------------------------------------------------- /docs/09.nine/01.留言板.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 留言板 3 | date: 2022-07-12 10:38:46 4 | permalink: /message-board 5 | --- 6 | 7 | **你可以在这里留下想说的内容。** 8 | 9 | ![image_20230228_121314](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20230228_121314.jpg) 10 | -------------------------------------------------------------------------------- /docs/00.目录页/01.one.md: -------------------------------------------------------------------------------- 1 | --- 2 | pageComponent: 3 | name: Catalogue 4 | data: 5 | key: 01.one 6 | title: 基础内容 7 | date: 2022-07-20 11:05:42 8 | permalink: /one/ 9 | sidebar: false 10 | article: false 11 | comment: false 12 | editLink: false 13 | --- -------------------------------------------------------------------------------- /docs/00.目录页/02.two.md: -------------------------------------------------------------------------------- 1 | --- 2 | pageComponent: 3 | name: Catalogue 4 | data: 5 | key: 02.two 6 | title: two 7 | date: 2022-07-20 11:05:54 8 | permalink: /two/ 9 | sidebar: false 10 | article: false 11 | comment: false 12 | editLink: false 13 | --- -------------------------------------------------------------------------------- /docs/00.目录页/03.three.md: -------------------------------------------------------------------------------- 1 | --- 2 | pageComponent: 3 | name: Catalogue 4 | data: 5 | key: 03.three 6 | title: three 7 | date: 2022-07-20 11:05:54 8 | permalink: /three/ 9 | sidebar: false 10 | article: false 11 | comment: false 12 | editLink: false 13 | --- -------------------------------------------------------------------------------- /docs/03.three/01.three-test.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: three-test 3 | date: 2022-07-18 17:25:49 4 | permalink: /pages/cc7034/ 5 | --- 6 | 7 | 这里是 three-test 的内容。 8 | 9 | ![image_20220721_112822](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_112822.jpeg) 10 | -------------------------------------------------------------------------------- /docs/.vuepress/config/themeConfig/nav.js: -------------------------------------------------------------------------------- 1 | // nav 2 | module.exports = [ 3 | { text: '首页', link: '/' }, 4 | { text: 'one',link: '/one/',}, 5 | { text: 'two',link: '/two/',}, 6 | { text: 'three', link: '/three/' }, 7 | { text: '留言板', link: '/message-board/' }, 8 | { text: '我的博客', link: 'https://wiki.eryajf.net' }, 9 | ] -------------------------------------------------------------------------------- /utils/config.yml: -------------------------------------------------------------------------------- 1 | #批量添加和修改、删除front matter配置文件 2 | 3 | # 需要批量处理的路径,docs文件夹内的文件夹 (数组,映射路径:path[0]/path[1]/path[2] ... ) 4 | path: 5 | - docs # 第一个成员必须是docs 6 | - 04.更多 7 | 8 | # 要删除的字段 (数组) 9 | delete: 10 | # - tags 11 | 12 | # 要添加、修改front matter的数据 (front matter中没有的数据则添加,已有的数据则覆盖) 13 | data: 14 | # author: 15 | # name: xugaoyi 16 | # link: https://github.com/xugaoyi 17 | -------------------------------------------------------------------------------- /docs/.vuepress/config.js: -------------------------------------------------------------------------------- 1 | const head = require('./config/head.js'); 2 | const plugins = require('./config/plugins.js'); 3 | const themeConfig = require('./config/themeConfig.js'); 4 | 5 | module.exports = { 6 | theme: 'vdoing', // 使用npm包主题 7 | title: "vdoing-template", 8 | description: 'vdoing博客主题模板', 9 | base: '/vdoing-template/', // 格式:'/<仓库名>/', 默认'/' 10 | markdown: { 11 | lineNumbers: true, // 代码行号 12 | }, 13 | 14 | head, 15 | plugins, 16 | themeConfig, 17 | } -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | home: true 3 | heroImage: https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220720_132208.png 4 | tagline: Vdoing博客主题模板 5 | heroText: vdoing-template 6 | actionText: 开始浏览 → 7 | actionLink: /pages/24768e/ 8 | bannerBg: none # auto => 网格纹背景(有bodyBgImg时无背景),默认 | none => 无 | '大图地址' | background: 自定义背景样式 提示:如发现文本颜色不适应你的背景时可以到palette.styl修改$bannerTextColor变量 9 | 10 | # 文章列表显示方式: detailed 默认,显示详细版文章列表(包括作者、分类、标签、摘要、分页等)| simple => 显示简约版文章列表(仅标题和日期)| none 不显示文章列表 11 | postList: simple 12 | --- 13 | -------------------------------------------------------------------------------- /docs/.vuepress/enhanceApp.js: -------------------------------------------------------------------------------- 1 | // import vue from 'vue/dist/vue.esm.browser' 2 | export default ({ 3 | Vue, // VuePress 正在使用的 Vue 构造函数 4 | options, // 附加到根实例的一些选项 5 | router, // 当前应用的路由实例 6 | siteData // 站点元数据 7 | }) => { 8 | // window.Vue = vue // 使页面中可以使用Vue构造函数 (使页面中的vue demo生效) 9 | } 10 | 11 | // export default ({ router }) => { 12 | // router.beforeEach((to, from, next) => { 13 | // console.log("切换路由", to.fullPath, from.fullPath); 14 | 15 | // //触发百度的pv统计 16 | // if (typeof _hmt != "undefined") { 17 | // if (to.path) { 18 | // _hmt.push(["_trackPageview", to.fullPath]); 19 | // console.log("上报百度统计", to.fullPath); 20 | // } 21 | // } 22 | 23 | // // continue 24 | // next(); 25 | // }); 26 | // }; 27 | -------------------------------------------------------------------------------- /utils/modules/fn.js: -------------------------------------------------------------------------------- 1 | // 类型判断 2 | exports.type = function (o){ 3 | var s = Object.prototype.toString.call(o) 4 | return s.match(/\[object (.*?)\]/)[1].toLowerCase() 5 | } 6 | 7 | // 修复date时区格式的问题 8 | exports.repairDate = function (date) { 9 | date = new Date(date); 10 | return `${date.getUTCFullYear()}-${zero(date.getUTCMonth()+1)}-${zero(date.getUTCDate())} ${zero(date.getUTCHours())}:${zero(date.getUTCMinutes())}:${zero(date.getUTCSeconds())}`; 11 | } 12 | 13 | // 日期的格式 14 | exports.dateFormat = function (date) { 15 | return `${date.getFullYear()}-${zero(date.getMonth()+1)}-${zero(date.getDate())} ${zero(date.getHours())}:${zero(date.getMinutes())}:${zero(date.getSeconds())}` 16 | } 17 | 18 | // 小于10补0 19 | function zero(d){ 20 | return d.toString().padStart(2,'0') 21 | } -------------------------------------------------------------------------------- /.github/workflows/build-deploy.yml: -------------------------------------------------------------------------------- 1 | name: Build Deploy 2 | 3 | # 在main分支发生push事件时触发。 4 | on: 5 | push: 6 | branches: 7 | - main 8 | 9 | env: # 设置环境变量 10 | TZ: Asia/Shanghai # 时区(设置时区可使页面中的`最近更新时间`使用时区时间) 11 | 12 | jobs: 13 | deploy: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: Checkout 🛎️ 17 | uses: actions/checkout@v3 18 | 19 | - name: build project ⚗️ 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version: 16 23 | - run: | 24 | npm install 25 | yarn build 26 | 27 | - name: Deploy 🚀 28 | uses: JamesIves/github-pages-deploy-action@v4 29 | env: # 设置环境变量 30 | ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} # toKen私密变量 31 | with: 32 | folder: docs/.vuepress/dist 33 | branch: gh-pages # 部署到的分支 -------------------------------------------------------------------------------- /utils/baiduPush.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 生成百度链接推送文件 3 | */ 4 | const fs = require('fs'); 5 | const path = require('path'); 6 | const chalk = require('chalk') 7 | const matter = require('gray-matter'); // FrontMatter解析器 https://github.com/jonschlinkert/gray-matter 8 | const readFileList = require('./modules/readFileList'); 9 | const urlsRoot = path.join(__dirname, '..', 'urls.txt'); // 百度链接推送文件 10 | const DOMAIN = process.argv.splice(2)[0]; // 获取命令行传入的参数 11 | 12 | if (!DOMAIN) { 13 | console.log(chalk.red('请在运行此文件时指定一个你要进行百度推送的域名参数,例:node utils/baiduPush.js https://wiki.eryajf.net')) 14 | return 15 | } 16 | 17 | main(); 18 | 19 | /** 20 | * 主体函数 21 | */ 22 | function main() { 23 | fs.writeFileSync(urlsRoot, DOMAIN) 24 | const files = readFileList(); // 读取所有md文件数据 25 | 26 | files.forEach( file => { 27 | const { data } = matter(fs.readFileSync(file.filePath, 'utf8')); 28 | 29 | if (data.permalink) { 30 | const link = `\r\n${DOMAIN}${data.permalink}`; 31 | console.log(link) 32 | fs.appendFileSync(urlsRoot, link); 33 | } 34 | }) 35 | } 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022-present eryajf 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/.vuepress/config/head.js: -------------------------------------------------------------------------------- 1 | // head 2 | module.exports = [ 3 | // 注入到页面 中的标签,格式[tagName, { attrName: attrValue }, innerHTML?] 4 | [ 5 | "link", 6 | { 7 | rel: "icon", 8 | href: "https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220720_132133.ico", 9 | }, 10 | ], //favicons,资源放在public文件夹 11 | [ 12 | "meta", 13 | { 14 | name: "keywords", 15 | content: "二丫讲梵,golang,vue,go-web,go-admin,go-ldap-admin", 16 | }, 17 | ], 18 | // ['meta', { name: 'baidu-site-verification', content: 'code-LTKHwOecxI' }], // 百度统计的站长验证 19 | ["meta", { name: "theme-color", content: "#11a8cd" }], // 移动浏览器主题颜色 20 | // [ 21 | // 'script', 22 | // { 23 | // 'data-ad-client': 'ca-pub-7828333725993554', 24 | // async: 'async', 25 | // src: 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js', 26 | // }, 27 | // ], // 网站关联Google AdSense 与 html格式广告支持 28 | ["meta", { name: "referrer", content: "no-referrer-when-downgrade" }], 29 | // 搜索框添加快捷键 30 | [ 31 | "script", 32 | { 33 | language: "javascript", 34 | type: "text/javascript", 35 | src: "/js/pgmanor-self.js", 36 | }, 37 | ], 38 | ]; 39 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vdoing-template", 3 | "version": "1.0.0", 4 | "scripts": { 5 | "dev": "vuepress dev docs", 6 | "build": "vuepress build docs", 7 | "deploy": "bash deploy.sh", 8 | "editFm": "node utils/editFrontmatter.js", 9 | "baiduPush": "node utils/baiduPush.js https://wiki.eryajf.net && bash baiduPush.sh", 10 | "publish": "cd ./theme-vdoing && npm publish && cd ../ && npm run updateTheme", 11 | "updateTheme": "npm uninstall vuepress-theme-vdoing && rm -rf node_modules && npm i && npm i vuepress-theme-vdoing -D" 12 | }, 13 | "license": "MIT", 14 | "devDependencies": { 15 | "dayjs": "^1.9.7", 16 | "html-to-text": "^5.1.1", 17 | "inquirer": "^7.1.0", 18 | "json2yaml": "^1.1.0", 19 | "segmentit": "^2.0.3", 20 | "vuepress": "1.8.0", 21 | "vuepress-plugin-fulltext-search": "^2.2.1", 22 | "vuepress-plugin-one-click-copy": "^1.0.2", 23 | "vuepress-plugin-zooming": "^1.1.7", 24 | "vuepress-theme-vdoing": "^1.12.0", 25 | "yamljs": "^0.3.0" 26 | }, 27 | "dependencies": { 28 | "busuanzi.pure.js": "^1.0.3", 29 | "leancloud-storage": "^4.11.1", 30 | "vuepress-plugin-vssue-global": "^0.0.3" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /docs/.vuepress/config/plugins.js: -------------------------------------------------------------------------------- 1 | // 插件配置 2 | module.exports = [ 3 | // 全文搜索插件 4 | 'fulltext-search', 5 | [ 6 | 'one-click-copy', 7 | { 8 | // 代码块复制按钮 9 | copySelector: ['div[class*="language-"] pre', 'div[class*="aside-code"] aside'], // String or Array 10 | copyMessage: '复制成功', // default is 'Copy successfully and then paste it for use.' 11 | duration: 1000, // prompt message display time. 12 | showInMobile: false, // whether to display on the mobile side, default: false. 13 | }, 14 | ], 15 | [ 16 | 'vuepress-plugin-zooming', // 放大图片 17 | { 18 | selector: '.theme-vdoing-content img:not(.no-zoom)', // 排除class是no-zoom的图片 19 | options: { 20 | bgColor: 'rgba(0,0,0,0.6)', 21 | }, 22 | }, 23 | ], 24 | [ 25 | "vuepress-plugin-vssue-global", 26 | { 27 | platform: "github", 28 | title: "[Comment]<%- frontmatter.title %>", 29 | needComments: true, 30 | // 其他的 Vssue 配置 31 | autoCreateIssue: true, 32 | clientId: "adb9fb0ac1159e00ce7f", 33 | clientSecret: "27da8dc85f808c2bd1b6e44da5ae69c4ddf17d8d", 34 | owner: "eryajf", 35 | repo: "vdoing-template", 36 | }, 37 | ], 38 | [ 39 | '@vuepress/last-updated', // "上次更新"时间格式 40 | { 41 | transformer: (timestamp, lang) => { 42 | const dayjs = require('dayjs') // https://day.js.org/ 43 | return dayjs(timestamp).format('YYYY/MM/DD, HH:mm:ss') 44 | }, 45 | }, 46 | ], 47 | ] 48 | -------------------------------------------------------------------------------- /utils/modules/readFileList.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 读取所有md文件数据 3 | */ 4 | const fs = require('fs'); // 文件模块 5 | const path = require('path'); // 路径模块 6 | const docsRoot = path.join(__dirname, '..', '..', 'docs'); // docs文件路径 7 | 8 | function readFileList(dir = docsRoot, filesList = []) { 9 | const files = fs.readdirSync(dir); 10 | files.forEach( (item, index) => { 11 | let filePath = path.join(dir, item); 12 | const stat = fs.statSync(filePath); 13 | if (stat.isDirectory() && item !== '.vuepress') { 14 | readFileList(path.join(dir, item), filesList); //递归读取文件 15 | } else { 16 | if(path.basename(dir) !== 'docs'){ // 过滤docs目录级下的文件 17 | 18 | const fileNameArr = path.basename(filePath).split('.') 19 | let name = null, type = null; 20 | if (fileNameArr.length === 2) { // 没有序号的文件 21 | name = fileNameArr[0] 22 | type = fileNameArr[1] 23 | } else if (fileNameArr.length === 3) { // 有序号的文件 24 | name = fileNameArr[1] 25 | type = fileNameArr[2] 26 | } else { // 超过两个‘.’的 27 | log(chalk.yellow(`warning: 该文件 "${filePath}" 没有按照约定命名,将忽略生成相应数据。`)) 28 | return 29 | } 30 | if(type === 'md'){ // 过滤非md文件 31 | filesList.push({ 32 | name, 33 | filePath 34 | }); 35 | } 36 | 37 | } 38 | } 39 | }); 40 | return filesList; 41 | } 42 | 43 | module.exports = readFileList; -------------------------------------------------------------------------------- /docs/.vuepress/styles/palette.styl: -------------------------------------------------------------------------------- 1 | //***vdoing主题-样式变量***// 2 | 3 | // 以下注释的变量仅供参考,主题使用的最新变量请查看:https://github.com/xugaoyi/vuepress-theme-vdoing/blob/master/theme-vdoing/styles/palette.styl 4 | // 你可以在这个文件内修改这些变量的值 5 | 6 | // // 颜色 7 | 8 | // $bannerTextColor = #fff // 首页banner区(博客标题)文本颜色 9 | // $accentColor = #11A8CD 10 | // $activeColor = #ff5722 11 | // $arrowBgColor = #ccc 12 | // $badgeTipColor = #42b983 13 | // $badgeWarningColor = darken(#ffe564, 35%) 14 | // $badgeErrorColor = #DA5961 15 | 16 | // // 布局 17 | // $navbarHeight = 3.6rem 18 | // $sidebarWidth = 18rem 19 | // $contentWidth = 860px 20 | // $homePageWidth = 1100px 21 | // $rightMenuWidth = 230px // 右侧菜单 22 | 23 | // // 代码块 24 | // $lineNumbersWrapperWidth = 2.5rem 25 | 26 | // // 浅色模式 27 | // .theme-mode-light 28 | // --bodyBg: #f4f4f4 29 | // --mainBg: rgba(255,255,255,1) 30 | // --sidebarBg: rgba(255,255,255,.8) 31 | // --blurBg: rgba(255,255,255,.9) 32 | // --textColor: #004050 33 | // --textLightenColor: #0085AD 34 | // --borderColor: rgba(0,0,0,.15) 35 | // // 代码块浅色主题 36 | // --codeBg: #f6f6f6 37 | // --codeColor: #525252 38 | // codeThemeLight() 39 | // // // 代码块深色主题 40 | // // --codeBg: #252526 41 | // // --codeColor: #fff 42 | // // codeThemeDark() 43 | 44 | // // 深色模式 45 | // .theme-mode-dark 46 | // --bodyBg: rgb(39,39,43) 47 | // --mainBg: rgba(30,30,34,1) 48 | // --sidebarBg: rgba(30,30,34,.8) 49 | // --blurBg: rgba(30,30,34,.8) 50 | // --textColor: rgb(140,140,150) 51 | // --textLightenColor: #0085AD 52 | // --borderColor: #2C2C3A 53 | // --codeBg: #252526 54 | // --codeColor: #fff 55 | // codeThemeDark() 56 | 57 | // // 阅读模式 58 | // .theme-mode-read 59 | // --bodyBg: rgb(240,240,208) 60 | // --mainBg: rgba(245,245,213,1) 61 | // --sidebarBg: rgba(245,245,213,.8) 62 | // --blurBg: rgba(245,245,213,.9) 63 | // --textColor: #004050 64 | // --textLightenColor: #0085AD 65 | // --borderColor: rgba(0,0,0,.15) 66 | // --codeBg: #282c34 67 | // --codeColor: #fff 68 | // codeThemeDark() 69 | -------------------------------------------------------------------------------- /utils/editFrontmatter.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 批量添加和修改front matter ,需要配置 ./config.yml 文件。 3 | */ 4 | const fs = require('fs'); // 文件模块 5 | const path = require('path'); // 路径模块 6 | const matter = require('gray-matter'); // front matter解析器 https://github.com/jonschlinkert/gray-matter 7 | const jsonToYaml = require('json2yaml') 8 | const yamlToJs = require('yamljs') 9 | const inquirer = require('inquirer') // 命令行操作 10 | const chalk = require('chalk') // 命令行打印美化 11 | const readFileList = require('./modules/readFileList'); 12 | const { type, repairDate} = require('./modules/fn'); 13 | const log = console.log 14 | 15 | const configPath = path.join(__dirname, 'config.yml') // 配置文件的路径 16 | 17 | main(); 18 | 19 | /** 20 | * 主体函数 21 | */ 22 | async function main() { 23 | 24 | const promptList = [{ 25 | type: "confirm", 26 | message: chalk.yellow('批量操作frontmatter有修改数据的风险,确定要继续吗?'), 27 | name: "edit", 28 | }]; 29 | let edit = true; 30 | 31 | await inquirer.prompt(promptList).then(answers => { 32 | edit = answers.edit 33 | }) 34 | 35 | if(!edit) { // 退出操作 36 | return 37 | } 38 | 39 | const config = yamlToJs.load(configPath) // 解析配置文件的数据转为js对象 40 | 41 | if (type(config.path) !== 'array') { 42 | log(chalk.red('路径配置有误,path字段应该是一个数组')) 43 | return 44 | } 45 | 46 | if (config.path[0] !== 'docs') { 47 | log(chalk.red("路径配置有误,path数组的第一个成员必须是'docs'")) 48 | return 49 | } 50 | 51 | const filePath = path.join(__dirname, '..', ...config.path); // 要批量修改的文件路径 52 | const files = readFileList(filePath); // 读取所有md文件数据 53 | 54 | files.forEach(file => { 55 | let dataStr = fs.readFileSync(file.filePath, 'utf8');// 读取每个md文件的内容 56 | const fileMatterObj = matter(dataStr) // 解析md文件的front Matter。 fileMatterObj => {content:'剔除frontmatter后的文件内容字符串', data:{}, ...} 57 | let matterData = fileMatterObj.data; // 得到md文件的front Matter 58 | 59 | let mark = false 60 | // 删除操作 61 | if (config.delete) { 62 | if( type(config.delete) !== 'array' ) { 63 | log(chalk.yellow('未能完成删除操作,delete字段的值应该是一个数组!')) 64 | } else { 65 | config.delete.forEach(item => { 66 | if (matterData[item]) { 67 | delete matterData[item] 68 | mark = true 69 | } 70 | }) 71 | 72 | } 73 | } 74 | 75 | // 添加、修改操作 76 | if (type(config.data) === 'object') { 77 | Object.assign(matterData, config.data) // 将配置数据合并到front Matter对象 78 | mark = true 79 | } 80 | 81 | // 有操作时才继续 82 | if (mark) { 83 | if(matterData.date && type(matterData.date) === 'date') { 84 | matterData.date = repairDate(matterData.date) // 修复时间格式 85 | } 86 | const newData = jsonToYaml.stringify(matterData).replace(/\n\s{2}/g,"\n").replace(/"/g,"") + '---\r\n' + fileMatterObj.content; 87 | fs.writeFileSync(file.filePath, newData); // 写入 88 | log(chalk.green(`update frontmatter:${file.filePath} `)) 89 | } 90 | 91 | }) 92 | } 93 | -------------------------------------------------------------------------------- /docs/.vuepress/config/themeConfig.js: -------------------------------------------------------------------------------- 1 | const nav = require("./themeConfig/nav.js"); 2 | // const sidebar = require('./themeConfig/sidebar.js'); 3 | 4 | // 主题配置 5 | module.exports = { 6 | nav, // 顶部导航栏 7 | sidebarDepth: 2, // 侧边栏显示深度,默认1,最大2(显示到h3标题) 8 | logo: "https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220720_132208.png", // 导航栏logo 9 | repo: "eryajf/vdoing-template", // 导航栏右侧生成Github链接 10 | searchMaxSuggestions: 10, // 搜索结果显示最大数 11 | lastUpdated: "上次更新", // 开启更新时间,并配置前缀文字 string | boolean (取值为git提交时间) 12 | editLinks: true, // 启用编辑链接 13 | docsDir: "docs", // 编辑的文件夹 14 | docsBranch: "main", // 编辑的分支 15 | editLinkText: "帮助我们改善此页面", 16 | searchPlaceholder: "按下 𝑺 搜索", // 可选:搜索栏占位文本,默认:"$ grep ..." 17 | 18 | //*** 以下配置是Vdoing主题改动和新增的配置 ***// 19 | 20 | category: false, // 是否打开分类功能,默认true。 如打开,会做的事情有:1. 自动生成的frontmatter包含分类字段 2.页面中显示与分类相关的信息和模块 3.自动生成分类页面(在@pages文件夹)。如关闭,则反之。 21 | tag: false, // 是否打开标签功能,默认true。 如打开,会做的事情有:1. 自动生成的frontmatter包含标签字段 2.页面中显示与标签相关的信息和模块 3.自动生成标签页面(在@pages文件夹)。如关闭,则反之。 22 | // archive: false, // 是否打开归档功能,默认true。 如打开,会做的事情有:1.自动生成归档页面(在@pages文件夹)。如关闭,则反之。 23 | // categoryText: '随笔', // 碎片化文章(_posts文件夹的文章)预设生成的分类值,默认'随笔' 24 | 25 | // titleBadge: false, // 文章标题前的图标是否显示,默认true 26 | // titleBadgeIcons: [ // 文章标题前图标的地址,默认主题内置图标 27 | // '图标地址1', 28 | // '图标地址2' 29 | // ], 30 | // contentBgStyle: 1, // 文章内容块的背景风格,默认无. 1 => 方格 | 2 => 横线 | 3 => 竖线 | 4 => 左斜线 | 5 => 右斜线 | 6 => 点状 31 | 32 | // rightMenuBar: false, // 是否显示右侧文章大纲栏,默认true (屏宽小于1300px下无论如何都不显示) 33 | // sidebarOpen: false, // 初始状态是否打开侧边栏,默认true 34 | // pageButton: false, // 是否显示快捷翻页按钮,默认true 35 | 36 | sidebar: { mode: "structuring", collapsable: false }, // 侧边栏 'structuring' | { mode: 'structuring', collapsable: Boolean} | 'auto' | 自定义 温馨提示:目录页数据依赖于结构化的侧边栏数据,如果你不设置为'structuring',将无法使用目录页 37 | pageStyle: "line", // 页面风格,可选值:'card'卡片 | 'line' 线(未设置bodyBgImg时才生效), 默认'card'。 说明:card时背景显示灰色衬托出卡片样式,line时背景显示纯色,并且部分模块带线条边框 38 | updateBar: { 39 | // 最近更新栏 40 | showToArticle: false, // 显示到文章页底部,默认true 41 | }, 42 | author: { 43 | // 文章默认的作者信息,可在md文件中单独配置此信息 String | {name: String, link: String} 44 | name: "二丫讲梵", // 必需 45 | link: "https://github.com/eryajf", // 可选的 46 | }, 47 | social: { 48 | // 社交图标,显示于博主信息栏和页脚栏 49 | // iconfontCssFile: '//at.alicdn.com/t/font_1678482_u4nrnp8xp6g.css', // 可选,阿里图标库在线css文件地址,对于主题没有的图标可自由添加 50 | icons: [ 51 | { 52 | iconClass: "icon-github", 53 | title: "GitHub", 54 | link: "https://github.com/eryajf", 55 | }, 56 | { 57 | iconClass: "icon-youjian", 58 | title: "发邮件", 59 | link: "mailto:eryajf@163.com", 60 | }, 61 | { 62 | iconClass: "icon-gitee", 63 | title: "Gitee", 64 | link: "https://gitee.com/eryajf", 65 | }, 66 | ], 67 | }, 68 | footer: { 69 | // 页脚信息 70 | createYear: 2022, // 博客创建年份 71 | copyrightInfo: 72 | 'Eryajf | MIT License', // 博客版权信息,支持a标签 73 | }, 74 | }; 75 | -------------------------------------------------------------------------------- /docs/01.one/01.三步上篮配置文档.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 三步上篮配置文档 3 | date: 2022-07-18 17:10:13 4 | permalink: /pages/24768e/ 5 | --- 6 | 7 | 配置文档 8 | 9 | ⚗️ 功能亮点: 10 | 11 | - 三步配置生成一个属于自己的免费个人博客。 12 | - 使用[Vdoing](https://github.com/xugaoyi/vuepress-theme-vdoing)主题,感谢作者写出如此简洁美观的博客主题。 13 | - 模板已内置集成全文搜索能力。 14 | - 模板已内置集成基于 GitHub Issue 的 vssue 评论系统。 15 | - 本地 Markdown 编写文档,提交到远程之后`GitHub Actions`自动构建发布。 16 | 17 | 🦩 以下仅需简短的几步配置,就可以配置拥有一个免费的个人博客。准备好了吗,来吧! 18 | 19 | ## 效果展示 20 | 21 | 首页效果图: 22 | 23 | ![image_20220721_113642](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_113642.png) 24 | 25 | 内部文章效果: 26 | 27 | ![image_20220721_165503](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_165503.png) 28 | 29 | 如果你也想要一个这种效果的博客,请往下看,只需简单几个配置步骤,即可免费拥有。 30 | 31 | ## 初始配置 32 | 33 | 首先访问模板仓库:[vdoing-template](https://github.com/eryajf/vdoing-template)。点击此仓库右侧的 `Use this template` 34 | 35 | ![image_20220721_153908](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_153908.png) 36 | 37 | 然后根据自己的实际情况,给仓库起名字: 38 | 39 | ![image_20220721_154115](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_154115.png) 40 | 41 | > 这里有一个注意点:仓库的名字将会是 `GitHub Pages` 的访问一级路由。比如上边我仓库名字定义为:`lql-notes`,那么配置成功之后的首页访问路径是: https://lql95.github.io/lql-notes ,如果你想让首页的访问路径是根,那么只需把仓库名字命名为:`lql95.github.io`。 42 | 43 | 创建完成之后,自己仓库中的项目内容如下: 44 | 45 | ![image_20220721_154502](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_154502.png) 46 | 47 | 然后将代码克隆到本地,使用编辑器打开: 48 | 49 | ```sh 50 | $ git clone git@github.com:lql95/lql-notes.git 51 | ``` 52 | 53 | ## 调整内容 54 | 55 | 接下来的操作就是将模板中的内容,替换成自己想要的内容,好在模板我已经精简了很多,不需要繁琐的配置,这里简单说明一下: 56 | 57 | ### 全局替换关键字 58 | 59 | ![image_20220721_154907](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_154907.png) 60 | 61 | 这样基本上就搞定了配置内容的一大步,剩下的就是一些修改美化方面的内容了。 62 | 63 | ### 配置首页 64 | 65 | 首页的配置信息在 `docs/index.md` 这个文件当中,我们可以参照官方文档进行按需配置:[点我去看文档](https://doc.xugaoyi.com/pages/f14bdb/) 66 | 67 | ### 配置评论 68 | 69 | 模板默认内置了 vssue 的评论组件,也是基于 github 的 issue 作为评论的存储数据。 70 | 71 | 只需两步即可完成配置: 72 | 73 | - 第一步:[参考官方文档](https://vssue.js.org/zh/guide/github.html),创建一个`GitHub OAuth App`。或者不用看官方文档,直接看如下两个步骤。 74 | 75 | [点击此处](https://github.com/settings/applications/new),进入创建页面: 76 | 77 | ![image_20220721_155930](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_155930.png) 78 | 79 | 点击注册之后,就进入到了详情页面,可以看到`Client ID`,点击 `Generate a new client secret` 生成一个秘钥: 80 | 81 | ![image_20220721_160023](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_160023.png) 82 | 83 | - 第二步:将配置信息填写到 `docs/.vuepress/config.js` 中。 84 | 85 | ```yaml 86 | // vssue 评论插件 87 | plugins: [ 88 | [ 89 | "vuepress-plugin-vssue-global", 90 | { 91 | platform: "github", 92 | title: "[Comment]<%- frontmatter.title %>", 93 | needComments: true, 94 | // 其他的 Vssue 配置 95 | autoCreateIssue: true, 96 | clientId: "d3ec4ca6363950ca41a2", 97 | clientSecret: "897465b6393f1d663e6128d2fab6959a0c0333cc", 98 | owner: "lql95", 99 | repo: "lql-notes", 100 | }, 101 | ], 102 | ], 103 | ``` 104 | 105 | 现在基本配置项都已经搞定,可以将代码提交上去,然后`GitHub Actions`会自动将代码部署到 `gh-pages` 分支。 106 | 107 | ## 终极配置 108 | 109 | 终极配置就是等 GitHub Actions 跑完之后,我们能看到分支当中多了一个 `gh-pages` 分支。 110 | 111 | 此时点击 `Settings` ---> `Pages`,进行如下配置: 112 | 113 | ![image_20220721_160920](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_160920.png) 114 | 115 | 两个配置项,第一个表示选择哪个分支作为静态文件,第二个表示选择前边分支的哪个目录。 116 | 117 | 点击保存之后,静待一分钟,然后就可以访问上边提供的那个地址了。成果如下: 118 | 119 | ![image_20220721_161147](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_161147.png) 120 | 121 | > 如果你想配置个人自定义域名,可参考此文档:[https://eryajf.github.io/HowToStartOpenSource/pages/06d15f/](https://eryajf.github.io/HowToStartOpenSource/pages/06d15f/) 122 | 123 | 如果一路配置没问题,那么文章也应该会自动加载评论功能: 124 | 125 | ![image_20220721_165020](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_165020.png) 126 | 127 | 剩下的就是一些细节的优化调整,稍微打磨之后,就可以愉快地撰写你的博客了。 128 | -------------------------------------------------------------------------------- /docs/.vuepress/config/themeConfig/htmlModules.js: -------------------------------------------------------------------------------- 1 | // 本页暂未引用 2 | /** 插入自定义html模块 (可用于插入广告模块等) 3 | * { 4 | * homeSidebarB: htmlString, 首页侧边栏底部 5 | * 6 | * sidebarT: htmlString, 全局左侧边栏顶部 7 | * sidebarB: htmlString, 全局左侧边栏底部 8 | * 9 | * pageT: htmlString, 全局页面顶部 10 | * pageB: htmlString, 全局页面底部 11 | * pageTshowMode: string, 页面顶部-显示方式:未配置默认全局;'article' => 仅文章页①; 'custom' => 仅自定义页① 12 | * pageBshowMode: string, 页面底部-显示方式:未配置默认全局;'article' => 仅文章页①; 'custom' => 仅自定义页① 13 | * 14 | * windowLB: htmlString, 全局窗口左下角② 15 | * windowRB: htmlString, 全局窗口右下角② 16 | * } 17 | * 18 | * ①注:在.md文件front matter配置`article: false`的页面是自定义页,未配置的默认是文章页(首页除外)。 19 | * ②注:windowLB 和 windowRB:1.展示区块宽高最大是200*200px。2.请给自定义元素定一个不超过200px的固定宽高。3.在屏宽小于960px时无论如何都不会显示。 20 | */ 21 | 22 | module.exports = { 23 | homeSidebarB: 24 | ` 25 | 31 | `, 34 | // sidebarT: 35 | // ` 36 | // 40 | // `, 43 | sidebarB: 44 | ` 45 | 51 | `, 54 | pageT: 55 | ` 56 | 60 | `, 63 | // pageTshowMode: 'article', 64 | pageB: 65 | ` 66 | 72 | `, 75 | // pageBshowMode: 'article', 76 | // windowLB: // 会遮挡部分侧边栏 77 | // ` 78 | // 79 | // 83 | // `, 86 | windowRB: 87 | ` 88 | 92 | 95 | `, 96 | } 97 | 98 | 99 | // module.exports = { 100 | // homeSidebarB: `
自定义模块测试
`, 101 | // sidebarT: `
自定义模块测试
`, 102 | // sidebarB: `
自定义模块测试
`, 103 | // pageT: `
自定义模块测试
`, 104 | // pageB: `
自定义模块测试
`, 105 | // windowLB: `
自定义模块测试
`, 106 | // windowRB: `
自定义模块测试
`, 107 | // } 108 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

vdoing-template

3 | 4 | [![Auth](https://img.shields.io/badge/Auth-eryajf-ff69b4)](https://github.com/eryajf) 5 | [![Status](https://img.shields.io/badge/status-active-success.svg)](https://github.com/eryajf/vdoing-template) 6 | [![GitHub Issues](https://img.shields.io/github/issues/eryajf/vdoing-template.svg)](https://github.com/eryajf/vdoing-template/issues) 7 | [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/eryajf/vdoing-template)](https://github.com/eryajf/vdoing-template/pulls) 8 | [![GitHub Pull Requests](https://img.shields.io/github/stars/eryajf/vdoing-template)](https://github.com/eryajf/vdoing-template/stargazers) 9 | [![GitHub license](https://img.shields.io/github/license/eryajf/vdoing-template)](https://github.com/eryajf/vdoing-template/blob/main/LICENSE) 10 | [![HitCount](https://views.whatilearened.today/views/github/eryajf/vdoing-template.svg)](https://github.com/eryajf/vdoing-template) 11 | [![website eryajf.github.io/vdoing-template](https://img.shields.io/website-up-down-green-red/http/eryajf.github.io/vdoing-template.svg)](https://eryajf.github.io/vdoing-template/) 12 | 13 |

📖 Vdoing博客主题静态部署模板 📖

14 | 15 | 16 |

17 | 18 | ⚗️ 功能亮点: 19 | 20 | - 三步配置生成一个属于自己的免费个人博客。 21 | - 使用[Vdoing](https://github.com/xugaoyi/vuepress-theme-vdoing)主题,感谢作者写出如此简洁美观的博客主题。 22 | - 模板已内置集成全文搜索能力。 23 | - 模板已内置集成基于 GitHub Issue 的 vssue 评论系统。 24 | - 本地 Markdown 编写文档,提交到远程之后`GitHub Actions`自动构建发布。 25 | 26 | 🦩 以下仅需简短的几步配置,就可以配置拥有一个免费的个人博客。准备好了吗,来吧! 27 | 28 | ## 效果展示 29 | 30 | 首页效果图: 31 | 32 | ![image_20220721_113642](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_113642.png) 33 | 34 | 内部文章效果: 35 | 36 | ![image_20220721_165503](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_165503.png) 37 | 38 | 如果你也想要一个这种效果的博客,请往下看,只需简单几个配置步骤,即可免费拥有。 39 | 40 | ## 初始配置 41 | 42 | 首先访问模板仓库:[vdoing-template](https://github.com/eryajf/vdoing-template)。点击此仓库右侧的 `Use this template` 43 | 44 | ![image_20220721_153908](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_153908.png) 45 | 46 | 然后根据自己的实际情况,给仓库起名字: 47 | 48 | ![image_20220721_154115](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_154115.png) 49 | 50 | > 这里有一个注意点:仓库的名字将会是 `GitHub Pages` 的访问一级路由。比如上边我仓库名字定义为:`lql-notes`,那么配置成功之后的首页访问路径是: https://lql95.github.io/lql-notes ,如果你想让首页的访问路径是根,那么只需把仓库名字命名为:`lql95.github.io`。 51 | 52 | 创建完成之后,自己仓库中的项目内容如下: 53 | 54 | ![image_20220721_154502](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_154502.png) 55 | 56 | 然后将代码克隆到本地,使用编辑器打开: 57 | 58 | ```sh 59 | $ git clone git@github.com:lql95/lql-notes.git 60 | ``` 61 | 62 | ## 调整内容 63 | 64 | 接下来的操作就是将模板中的内容,替换成自己想要的内容,好在模板我已经精简了很多,不需要繁琐的配置,这里简单说明一下: 65 | 66 | ### 全局替换关键字 67 | 68 | ![image_20220721_154907](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_154907.png) 69 | 70 | 这样基本上就搞定了配置内容的一大步,剩下的就是一些修改美化方面的内容了。 71 | 72 | ### 配置首页 73 | 74 | 首页的配置信息在 `docs/index.md` 这个文件当中,我们可以参照官方文档进行按需配置:[点我去看文档](https://doc.xugaoyi.com/pages/f14bdb/) 75 | 76 | ### 配置评论 77 | 78 | 模板默认内置了 vssue 的评论组件,也是基于 github 的 issue 作为评论的存储数据。 79 | 80 | 只需两步即可完成配置: 81 | 82 | - 第一步:[参考官方文档](https://vssue.js.org/zh/guide/github.html),创建一个`GitHub OAuth App`。或者不用看官方文档,直接看如下两个步骤。 83 | 84 | [点击此处](https://github.com/settings/applications/new),进入创建页面: 85 | 86 | ![image_20220721_155930](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_155930.png) 87 | 88 | 点击注册之后,就进入到了详情页面,可以看到`Client ID`,点击 `Generate a new client secret` 生成一个秘钥: 89 | 90 | ![image_20220721_160023](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_160023.png) 91 | 92 | - 第二步:将配置信息填写到 `docs/.vuepress/config.js` 中。 93 | 94 | ```yaml 95 | // vssue 评论插件 96 | plugins: [ 97 | [ 98 | "vuepress-plugin-vssue-global", 99 | { 100 | platform: "github", 101 | title: "[Comment]<%- frontmatter.title %>", 102 | needComments: true, 103 | // 其他的 Vssue 配置 104 | autoCreateIssue: true, 105 | clientId: "d3ec4ca6363950ca41a2", 106 | clientSecret: "897465b6393f1d663e6128d2fab6959a0c0333cc", 107 | owner: "lql95", 108 | repo: "lql-notes", 109 | }, 110 | ], 111 | ], 112 | ``` 113 | 114 | 现在基本配置项都已经搞定,可以将代码提交上去,然后`GitHub Actions`会自动将代码部署到 `gh-pages` 分支。 115 | 116 | ## 终极配置 117 | 118 | 终极配置就是等 GitHub Actions 跑完之后,我们能看到分支当中多了一个 `gh-pages` 分支。 119 | 120 | 此时点击 `Settings` ---> `Pages`,进行如下配置: 121 | 122 | ![image_20220721_160920](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_160920.png) 123 | 124 | 两个配置项,第一个表示选择哪个分支作为静态文件,第二个表示选择前边分支的哪个目录。 125 | 126 | 点击保存之后,静待一分钟,然后就可以访问上边提供的那个地址了。成果如下: 127 | 128 | ![image_20220721_161147](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_161147.png) 129 | 130 | > 如果你想配置个人自定义域名,可参考此文档:[https://eryajf.github.io/HowToStartOpenSource/pages/06d15f/](https://eryajf.github.io/HowToStartOpenSource/pages/06d15f/) 131 | 132 | 如果一路配置没问题,那么文章也应该会自动加载评论功能: 133 | 134 | ![image_20220721_165020](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_165020.png) 135 | 136 | 剩下的就是一些细节的优化调整,稍微打磨之后,就可以愉快地撰写你的博客了。 137 | -------------------------------------------------------------------------------- /docs/02.two/02.two-test-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: two-test-2 3 | date: 2022-07-18 17:24:24 4 | permalink: /pages/f07695/ 5 | --- 6 | 7 | 这里是 two-test-2 的内容。 8 | 9 | ![image_20220721_153338](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_153338.png) 10 | 11 | ### 我的开源项目列表 12 | 13 | 如果你觉得项目不错,欢迎来个 🤩 Star 🤩 14 | 15 | | Project | Watchers | Forks | Stars | Remark | 16 | | :----------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: | ---------------------------------------------- | 17 | | [docker_learn](https://github.com/eryajf/docker_learn) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/docker_learn.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/docker_learn.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/docker_learn.svg?style=social) | 学习 docker 过程中所用到的一些东东 | 18 | | [shellabout](https://github.com/eryajf/shellabout) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/shellabout.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/shellabout.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/shellabout.svg?style=social) | 一些值得珍藏的脚本 | 19 | | [magic-of-kubernetes-scripts](https://github.com/eryajf/magic-of-kubernetes-scripts) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/magic-of-kubernetes-scripts.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/magic-of-kubernetes-scripts.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/magic-of-kubernetes-scripts.svg?style=social) | 一键部署 k8s-1.10.4 高可用集群 | 20 | | [magic-of-sysuse-scripts](https://github.com/eryajf/magic-of-sysuse-scripts) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/magic-of-sysuse-scripts.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/magic-of-sysuse-scripts.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/magic-of-sysuse-scripts.svg?style=social) | 运维外挂,运维脚本的新角度 | 21 | | [ care-screenshot](https://github.com/eryajf/care-screenshot) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/care-screenshot.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/care-screenshot.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/care-screenshot.svg?style=social) | 给我一个 URL,我能将你关心的元素截图发给机器人 | 22 | | [rpmbuild](https://github.com/eryajf/rpmbuild) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/rpmbuild.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/rpmbuild.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/rpmbuild.svg?style=social) | 整理工作中常用的 RPM 构建 spec | 23 | | [Learning-Weekly](https://eryajf.github.io/Learning-Weekly/#/) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/Learning-Weekly.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/Learning-Weekly.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/Learning-Weekly.svg?style=social) | 开源项目,优秀文章,优秀博客 | 24 | | [xirang](https://github.com/eryajf/xirang) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/xirang.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/xirang.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/xirang.svg?style=social) | 简单好用,直接上手的 go-web 框架 | 25 | | [wiki](https://github.com/eryajf/eryajf.github.io) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/eryajf.github.io.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/eryajf.github.io.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/eryajf.github.io.svg?style=social) | 当前博客全部源码,欢迎 fork | 26 | | [ldapctl](https://github.com/eryajf/ldapctl) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/ldapctl.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/ldapctl.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/ldapctl.svg?style=social) | OpenLDAP Controller | 27 | | [Thanks-Mirror](https://github.com/eryajf/Thanks-Mirror) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/Thanks-Mirror.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/Thanks-Mirror.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/Thanks-Mirror.svg?style=social) | 各个包管理器,系统镜像,以及常用软件的好用镜像 | 28 | | [go-ldap-admin-ui](https://github.com/eryajf/go-ldap-admin-ui) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/go-ldap-admin-ui.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/go-ldap-admin-ui.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/go-ldap-admin-ui.svg?style=social) | 基于 Go+Vue 实现的 openLDAP 后台管理项目-前端 | 29 | | [go-ldap-admin](https://github.com/eryajf/go-ldap-admin) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/go-ldap-admin.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/go-ldap-admin.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/go-ldap-admin.svg?style=social) | 基于 Go+Vue 实现的 openLDAP 后台管理项目-后端 | 30 | | [HowToStartOpenSource](https://github.com/eryajf/HowToStartOpenSource) | ![GitHub watchers](https://img.shields.io/github/watchers/eryajf/HowToStartOpenSource.svg?style=social) | ![GitHub forks](https://img.shields.io/github/forks/eryajf/HowToStartOpenSource.svg?style=social) | ![GitHub stars](https://img.shields.io/github/stars/eryajf/HowToStartOpenSource.svg?style=social) | GitHub 开源项目维护指南 | 31 | -------------------------------------------------------------------------------- /docs/02.two/01.two-test-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: two-test-1 3 | date: 2022-07-18 17:23:23 4 | permalink: /pages/f07694/ 5 | --- 6 | 7 | 这里是 two-test-1 的内容。 8 | 9 | ![image_20220721_112753](https://cdn.jsdelivr.net/gh/eryajf/tu/img/image_20220721_112753.jpeg) 10 | 11 | 以下 Markdown 内容转载自:[Markdown 超级教程 Obsidian 版](https://publish.obsidian.md/csj-obsidian/0+-+Obsidian/Markdown/Markdown%E8%B6%85%E7%BA%A7%E6%95%99%E7%A8%8B+Obsidian%E7%89%88) 12 | 13 | 这里仅作为展示 Vuepress 解析 Markdown 效果的一个展示。 14 | 15 | # 什么是 Markdown? 16 | 17 | 1. **Markdown** 是一款轻量级标记语言,不同于 HTML **(Hypertext Markup Language)**,**Markdown** 的语法非常简单,且容易上手 18 | 2. **Markdown** 以 **纯文本格式** 编写文档,依赖键盘而非鼠标,专注于**写作本身**,感受**书写**的魅力 19 | 3. **Markdown** 的通过添加一些简单的 **标识符**,让文本具有**恰到好处**的格式 20 | 4. **Markdown** 核心特征就是 **删繁剪芜**, **简扼** + **精炼** 21 | 5. **Markdown** 是 **笔记** 与 **网页文章** 的最佳载体 22 | 6. **Down** 的核心:坐 **下** 来,就能把思维写 **下** 来 23 | - **牛津高阶英汉双解词典第九版** 中,关于 **down** 的释义: 24 | 25 |
26 | 27 | ![牛津9 down释义](https://z3.ax1x.com/2021/10/12/5mqsGF.png "牛津9 down释义") 28 | 29 |
30 | 31 | ## 为什么要使用 Markdown? 32 | 33 | 有朋友问我 ,**Markdown** 的效果 用 Word 完全可以复现,甚至功能更多,那为何要用 **Markdown** 呢? 34 | 35 | **答:** 36 | 37 | - 功能多,不一定是好事 38 | - 功能一多,选择就会变多,然后你会开始纠结…… 39 | - 这个字号是不是该大一点呢? 40 | - 这个颜色好像有点不太搭呢? 41 | - 这个粗体,是不是该再加点颜色呢? 42 | - 这个图片的位置看起来有点不大对劲呢? 43 | - 结果,写了半天,就憋出一点点东西 44 | - 写出来的内容...好像...也不咋滴 45 | 46 | **MD 的优势:** 47 | 48 | 1. **Markdown** 让我们免于 **被繁杂臃肿的功能晃花了眼** 的困扰 49 | 2. **Markdown** 让我们回归内容本身,拥抱笔记的**内核**,而非浮于**表象**的样式,写出**高效精练**的笔记! 50 | 51 | 用 **Markdown** 写东西,记住一个原则 52 | 53 | > 能用 10 个字搞定的,绝不用 11 个字 54 | 55 | 经常使用 **Markdown** 书写的朋友,也许会有一种奇妙的感触 56 | 57 | - 书写,会==倒逼==思维的跃进。像是有东西拽着你的思绪往前冲 58 | - 倒逼:逆向逼迫,反向推动 59 | 60 | **关于标识符的滥用** 61 | 62 | 这个其实是写在最后的,之所以放在这里,是因为它**很重要**! 63 | 64 | 如果你有一定的 MD 语法基础,可以直接[[#19 避免标识符的滥用|点击跳转]] 65 | 66 |
67 | 68 | ## Markdown 相关软件推荐 69 | 70 | - **Markdown** **书写软件** 推荐:**Typora** 优秀的 MD 网页文章 书写软件 71 | - [点击跳转下载地址](https://www.typora.io/ "Typora编辑器") 72 | - #提示 以前是免费的,现在收费了,不过是买断制 73 | - **Markdown** **笔记软件** 推荐:**Obsidian** **银河系最强** **MD+双向链** 笔记软件 74 | - [点击跳转下载地址](https://obsidian.md/ "银河系第一笔记软件 Obsidian") 75 | 76 |

77 | 78 | # Markdown 语法 79 | 80 | - **提示 1:** 本教程推荐使用 **Obsidian** 打开阅读 81 | - **提示 2:** 下文提到的所有标识符都是 **英文状态** 的 **!** 82 | 83 | ## 1. 标题&目录 84 | 85 |
86 | 87 | ### 1.1 标题 88 | 89 | - Markdown 标题共有 **六级**,和 HTML 一样 90 | - 区分 **一级标题 → 六级标题** 91 | - **标题 的格式:** 92 | - **#** × 标题级数 + **空格** + 文本内容 93 | 94 | ```md 95 | 这是一段普通的文本 96 | 97 | # 这是一级标题 98 | 99 | ## 这是二级标题 100 | 101 | ### 这是三级标题 102 | 103 | #### 这是四级标题 104 | 105 | ##### 这是五级标题 106 | 107 | ###### 这是六级标题 108 | ``` 109 | 110 |
111 | 112 | ### 1.2 目录 113 | 114 | - **目录的 格式:** 115 | - 在文档的顶部 输入 **`[toc]`** ,会根据 **标题** 自动生成目录 ( **Table of Content** ) 116 | - 不是所有 **MD 编辑器** 都支持目录生成 117 | - **Obsidian** 就不支持,不过 **OB** 是自带大纲的,就是目录的效果 118 | 119 | ```md 120 | 输入下方内容会生成一个目录: 121 | 122 | [toc] 123 | ``` 124 | 125 |

126 | 127 | ## 2. 斜体&粗体 128 | 129 |
130 | 131 | ### 2.1 斜体 132 | 133 | - **斜体 的格式:** 134 | 1. `*` + 文本内容 + `*` 135 | 2. `_` + 文本内容 + `_` ( 下划线 ) 136 | - **说明:** 137 | - 斜体文本,首尾只有 **单个** 标识符 138 | 139 | ```md 140 | 这是一段普通文本 141 | 142 | _这里是一段斜体文本_ 143 | _这也是一段斜体文本_ 144 | ``` 145 | 146 | #### 示范 147 | 148 | 这是一段普通文本 149 | 150 | _这里是一段斜体文本_ 151 | _这也是一段斜体文本_ 152 | 153 |
154 | 155 | ### 2.2 粗体 156 | 157 | - **粗体 的格式:** 158 | 159 | 1. `**` + 文本内容 + `**` 160 | 2. `__` + 文本内容 + `__` (这里是两个 **\_** ) 161 | 162 | - **说明:** 163 | - 粗体文本,首尾各有 **两个** 标识符 164 | 165 | ```md 166 | 这是一段普通文本 167 | 168 | **这里是一段加粗文本** 169 | **这也是一段加粗文本** 170 | ``` 171 | 172 | #### 示范 173 | 174 | 这是一段普通文本 175 | 176 | **这里是一段加粗文本** 177 | **这也是一段加粗文本** 178 | 179 |
180 | 181 | ### 2.3 粗斜体 (斜粗体) 182 | 183 | - **粗斜体 的格式:** 184 | 185 | 1. `***` + 文本内容 + `***` 186 | 2. `___` + 文本内容 + `___` ( 这里是 3 个 \_ ) 187 | 3. `**_` + 文本内容 + `_**` 188 | 4. `__*` + 文本内容 + `*__` 189 | 5. `*__` + 文本内容 + `__*` 190 | 6. `_**` + 文本内容 + `**_` 191 | 192 | - **说明:** 193 | - 粗斜体文本,首尾各有 **三个** 标识符 194 | 195 | ```md 196 | 这是一段普通文本 197 | 198 | **_粗斜体文本 1_** 199 | **_粗斜体文本 2_** 200 | **_粗斜体文本 3_** 201 | **_粗斜体文本 4_** 202 | _**粗斜体文本 5**_ 203 | _**粗斜体文本 6**_ 204 | ``` 205 | 206 | #### 示范 207 | 208 | 这是一段普通文本 209 | 210 | **_粗斜体文本 1_** 211 | **_粗斜体文本 2_** 212 | **_粗斜体文本 3_** 213 | **_粗斜体文本 4_** 214 | _**粗斜体文本 5**_ 215 | _**粗斜体文本 6**_ 216 | 217 |
218 | 219 | ### 2.4 斜体包含粗体 220 | 221 | - **斜体中包含粗体 的格式:** 222 | 223 | 1. `*` + 斜体文本 + `**` + 粗体文本 + `**` + 斜体文本 + `*` 224 | 2. `_` + 斜体文本 + **`__`** + 粗体文本 + `__` + 斜体文本 + `_` ( 这里是两个 **\_** ) 225 | 3. `*` + 斜体文本 + `__` + 粗体文本 + `__` + 斜体文本 + `*` 226 | 4. `_` + 斜体文本 + `**` + 粗体文本 + `**` + 斜体文本 + `_` 227 | 228 | - **说明:** 229 | - **斜体** 中包含 **粗体**,其实就是嵌套的关系,**外层** 是 **斜体**,**内层** 是 **粗体** 230 | - 外层是**斜体**,标识符是**单个**;内层是**粗体**,标识符是**两个** 231 | - 因为 **粗体** 是被包裹在 **斜体** 中的,所以显示效果为 **斜粗体** 232 | 233 | ```md 234 | 这是一段普通文本 235 | 236 | _这里是一段斜体中**包含粗体**的文字_ 237 | _这也是一段斜体中**包含粗体**的文字_ 238 | _这又是一段斜体中**包含粗体**的文字_ 239 | _这还是一段斜体中**包含粗体**的文字_ 240 | ``` 241 | 242 | #### 示范 243 | 244 | 这是一段普通文本 245 | 246 | _这里是一段斜体中**包含粗体**的文字_ 247 | _这也是一段斜体中**包含粗体**的文字_ 248 | _这又是一段斜体中**包含粗体**的文字_ 249 | _这还是一段斜体中**包含粗体**的文字_ 250 | 251 |
252 | 253 | ### 2.5 粗体包含斜体 254 | 255 | - **粗体中包含斜体 的格式:** 256 | 1. `**` + 粗体文本 + `*` + 斜体文本 + `*` + 粗体文本 + `**` 257 | 2. `__` + 粗体文本 + `_` + 斜体文本 + `_` + 粗体文本 + `__` ( 这里是两个 **\_** ) 258 | 3. `**` + 粗体文本 + `_` + 斜体文本 + `_` + 粗体文本 + `**` 259 | 4. `__` + 粗体文本 + `*` + 斜体文本 + `*` + 粗体文本 + `__` 260 | - **说明:** 261 | - **粗体** 中包含 **斜体**,也就是嵌套的关系,**外层** 是 **粗体**,**内层** 是 **斜体** 262 | - 外层是**粗体**,标识符是**两个**;内层是**斜体**,标识符是**单个** 263 | - 因为 **斜体** 是被包裹在 **粗体** 中的,所以显示效果为 **粗斜体** 264 | 265 | ```md 266 | 这是一段普通文本 267 | 268 | **这里是一段粗体中*包含斜体*的文字** 269 | **这也是一段粗体中*包含斜体*的文字** 270 | **这又是一段粗体中*包含斜体*的文字** 271 | **这还是一段粗体中*包含斜体*的文字** 272 | ``` 273 | 274 | #### 示范 275 | 276 | 这是一段普通文本 277 | 278 | **这里是一段粗体中*包含斜体*的文字** 279 | **这也是一段粗体中*包含斜体*的文字** 280 | **这又是一段粗体中*包含斜体*的文字** 281 | **这还是一段粗体中*包含斜体*的文字** 282 | 283 |

284 | 285 | ## 3. 线 286 | 287 |
288 | 289 | ### 3.1 水平分割线 290 | 291 | - 水平分割线由至少 **3** 个 `*` 或 `-` 组成 292 | 293 | ```md 294 | ## 下面是一条水平分割线: 295 | 296 | --- 297 | ``` 298 | 299 | #### 示范 300 | 301 | --- 302 | 303 | --- 304 | 305 |
306 | 307 | ### 3.2 文本删除线 308 | 309 | - **删除线 的格式:** 310 | - **`~~`** + 文本内容 +**`~~`** 首尾各加两个 **~** 波浪号 311 | 312 | ```md 313 | ~~这是一段加了删除线的文本~~ 314 | ``` 315 | 316 | #### 示范 317 | 318 | ~~这是一段加了删除线的文本~~ 319 | 320 |
321 | 322 | ### 3.3 文本下划线 323 | 324 | - 下划线的格式,和 HTML 是一样的 325 | - **``** + 文本内容 + **``** 326 | 327 | ```html 328 | 这是一段加了下划线的文本 329 | ``` 330 | 331 | #### 示范 332 | 333 | 这是一段加了下划线的文本 334 | 335 |

336 | 337 | ## 4. 列表&引用 338 | 339 |
340 | 341 | ### 4.1 有序列表 342 | 343 | - **有序列表 的格式:** 344 | 345 | - **`1.`** + **空格** + 文本内容 346 | 347 | - **说明:** 348 | - 输入文本内容后,敲击 **Enter** 自动补全格式,并进入 **下个** 有序列表 349 | - 若需要在同个列表内,增加 **换行显示** 的内容 (**但不进入下个列表**) 350 | 敲击 **Shift** + **Enter** ,即可另起一行输入文本 351 | - 在有序列表的中间,插入一个新的列表,后面列表的 **数字序号** 会自动 **递进** 一层 352 | - 即便在源代码模式中修改了数字序号,渲染界面依然是 **依照顺序** 显示的 353 | 354 | ```md 355 | 1. 这是第一个有序列表 356 | 2. 这是第二个有序列表 357 | 3. 这是第三个有序列表 358 | 359 | 4. 这是第一个有序列表 360 | 这是同个列表下,另起一行的文本内容 361 | 5. 这是第二个有序列表 362 | 这是同个列表下,另起一行的文本内容 363 | ``` 364 | 365 | #### 示范 366 | 367 | 1. 这是第一个有序列表 368 | 2. 这是第二个有序列表 369 | 3. 这是第三个有序列表 370 | 371 | 4. 这是第一个有序列表 372 | 这是同个列表下,另起一行的文本内容 373 | 5. 这是第二个有序列表 374 | 这是同个列表下,另起一行的文本内容 375 | 376 | #### 补充 377 | 378 | - 由于有序列表存在**强制排序性**,它的数字序号必然是**逐一递进**的 379 | 若你希望内容前的数字,不依照**递进顺序**排序,或者以 **整百**,**整十数** 排序 380 | - 可以配合**无序列表**,在无序列表中输入: 381 | - `数字` + `.` + 内容 #注意 点号 与 内容 之间,**没有空格** (其实有空格也行,就是会感觉有点奇怪) 382 | 383 | ```md 384 | - 10.这是无序列表下,整十数排列的内容 385 | - 20.这是无序列表下,整十数排列的内容 386 | - 30.这是无序列表下,整十数排列的内容 387 | 388 | - 100.这是无序列表下,整百数排列的内容 389 | - 200.这是无序列表下,整百数排列的内容 390 | - 300.这是无序列表下,整百数排列的内容 391 | ``` 392 | 393 | **效果:** 394 | 395 | - 10.这是无序列表下,整十数排列的内容 396 | - 20.这是无序列表下,整十数排列的内容 397 | - 30.这是无序列表下,整十数排列的内容 398 | 399 |
400 | 401 | - 100.这是无序列表下,整百数排列的内容 402 | - 200.这是无序列表下,整百数排列的内容 403 | - 300.这是无序列表下,整百数排列的内容 404 | 405 |
406 | 407 | ### 4.2 无序列表 408 | 409 | - **无序列表 的格式:** 410 | - **-** + **空格** + 文本内容 411 | - **说明:** 412 | - 输入文本内容后,敲击 **Enter** 自动补全格式,并进入 **下个** 无序列表 413 | - 若需要在同个列表内,增加**换行**显示的内容 (**但不进入下个列表**) 414 | 敲击 **Shift** + **Enter** ,即可另起一行输入文本 415 | - **补充:** 416 | - 在**Obsidian**中,按下 **Ctrl** + **Enter** 417 | - 即可快速生成一个无序列表 418 | 419 | ```md 420 | - 这是第 1 个无序列表 421 | - 这是第 2 个无序列表 422 | - 这是第 3 个无序列表 423 | 424 | - 这是第一个无序列表 425 | 这是同个列表下,另起一行的文本内容 426 | - 这是第二个无序列表 427 | 这是同个列表下,另起一行的文本内容 428 | ``` 429 | 430 | #### 示范 431 | 432 | - 这是第 1 个无序列表 433 | - 这是第 2 个无序列表 434 | - 这是第 3 个无序列表 435 | 436 |
437 | 438 | - 这是第一个无序列表 439 | 这是同个列表下,另起一行的文本内容 440 | - 这是第二个无序列表 441 | 这是同个列表下,另起一行的文本内容 442 | 443 |
444 | 445 | ### 4.3 引用 446 | 447 | - **引用 的格式:** 448 | - **>** + 文本内容 (**不需要空格**) 449 | - **说明:** 450 | - **同个引用段落**内的换行直接敲击 **Enter** 即可 451 | - 若需添加 **第二个独立引用段落** ,连续敲击 **两下** **Enter** 即可 452 | 453 | ```markdonw 454 | >这是第一段引用文本的第1行 455 | >这是第一段引用文本的第2行 456 | 457 | >这是第二段引用文本的第1行 458 | >这是第二段引用文本内第2行 459 | ``` 460 | 461 | #### 示范 462 | 463 | > 这是第一段引用文本的第 1 行 464 | > 这是第一段引用文本的第 2 行 465 | 466 | > 这是第二段引用文本的第 1 行 467 | > 这是第二段引用文本的第 2 行 468 | 469 |
470 | 471 | ### 4.4 缩进&退格 472 | 473 | **在列表和引用的书写过程中,我们需要利用 ==缩进== 与 ==退格== ,让文章肌理分明,更具层级** 474 | 475 | - **缩进:** 476 | 477 | 1. **Tab** 478 | 2. **Ctrl** + **[**   (左中括号) 479 | 480 | - **退格:** 481 | 1. **Shift** + **Tab** 482 | 2. **Ctrl** + **]** (右中括号) 483 | 484 |
485 | 486 | #### 4.4.1 有序列表的缩&退 487 | 488 | ```md 489 | 1. 第一级有序列表 1 490 | 1. 第二级有序列表 1 491 | 2. 第二级有序列表 2 492 | 2. 第一级有序列表 2 493 | ``` 494 | 495 | - **补充说明:** 496 | - 有序列表的**数字序号**,即便你在源代码模式里 强行改掉 数字,它仍然会 **依照顺序** 显示 497 | 498 | ##### 示范 499 | 500 | 1. 第一级有序列表 1 501 | 1. 第二级有序列表 1 502 | 2. 第二级有序列表 2 503 | 2. 第一级有序列表 2 504 | 505 |
506 | 507 | #### 4.4.2 无序列表的缩&退 508 | 509 | ```md 510 | - 第一级无序列表 1 511 | - 第二级无序列表 1 512 | - 第二级无序列表 2 513 | - 第一级无序列表 2 514 | ``` 515 | 516 | ##### 示范 517 | 518 | - 第一级无序列表 1 519 | - 第二级无序列表 1 520 | - 第二级无序列表 2 521 | - 第一级无序列表 2 522 | 523 |
524 | 525 | #### 4.4.3 引用的缩&退 526 | 527 | - 引用的 **缩进** 和列表 **不同** 528 | - 引用需另起一行,并额外多打一个 > 来完成 **缩进** 529 | - 引用的 **退格** 与列表 **相同** 530 | 1. **Shift** + **Tab** 531 | 2. **Ctrl** + **]** (右中括号) 532 | 533 | ```md 534 | > 第一级引用 1 535 | > 536 | > > 第二级引用 1 537 | > > 第二级引用 2 538 | > > 第一级引用 2 539 | ``` 540 | 541 | ##### 示范 542 | 543 | > 第一级引用 1 544 | > 545 | > > 第二级引用 1 546 | > > 第二级引用 2 547 | > 548 | > 第一级引用 2 549 | 550 |
551 | 552 | - **补充:** 553 | 在 **Obsidian** 中,引用的退格是不太一样的 554 | - **Obsidian **中,如果想让已经缩进的引用 **退回一层** 555 | - 得使用 **`Shift`** + **`Enter`** ,配合方向键,在多个 **`>`** 之间灵活断行 556 | 并在下一行 根据需要 选择性补充 **`>`** 557 | - 这个用文字比较难以描述,这里选择用 2 个带键位的 **Gif 图** 来描述 558 | 559 | **Gif 演示 1:** 560 | 561 |
562 | 563 | ![引用退格1](https://z3.ax1x.com/2021/08/09/fGPDVs.gif) 564 | 565 |
566 | 567 | - **效果 1:** 568 | 569 | > 111 570 | > 571 | > > 222 572 | > > 573 | > > > 333 574 | > > 575 | > > 444 576 | > 577 | > 555 578 | 579 |
580 | 581 | **Gif 演示 2:** 582 |
583 | 584 | ![引用退格2](https://z3.ax1x.com/2021/08/09/fGA1Qf.gif) 585 | 586 |
587 | 588 | - **效果 2:** 589 | 590 | > 111 591 | > 592 | > > 222 593 | > > 594 | > > > 333 595 | > 596 | > > 444 597 | > > 598 | > > > 555 599 | > > 600 | > > 666 601 | > 602 | > 777 603 | 604 |
605 | 606 | #### 4.4.4 有序&无序&引用 连续套娃 607 | 608 | - **有序列表**、**无序列表**、**引用** 三者之间,可以相互嵌套 609 | - **核心键** : **Shift** + **Enter** **&** **Enter** **&** **Shift** + **Tab** ( 或 **Ctrl** + **[** ) 610 | - **Shift** + **Enter** 在切换格式的嵌套中,是 自带一层 **缩进** 效果的 611 | 612 | ```md 613 | 1. 第一级 有序列表 1 614 | - 第二级 无序列表 1 615 | > 第三级 引用 1 616 | - 第四级 无序列表2 617 | 1. 第五级 有序列表2 618 | - 第四级 无序列表3 619 | > 第三级 引用 2 620 | - 第二级 无序列表 4 621 | 2. 第一级 有序列表 3 622 | ``` 623 | 624 | ##### 示范 625 | 626 | 1. 第一级 有序列表 1 627 | 628 | - 第二级 无序列表 1 629 | 630 | > 第三级 引用 1 631 | > 632 | > - 第四级 无序列表 2 633 | > 1. 第五级 有序列表 2 634 | > - 第四级 无序列表 3 635 | > 636 | > 第三级 引用 2 637 | 638 | - 第二级 无序列表 4 639 | 640 | 2. 第一级 有序列表 3 641 | 642 | #### 4.4.5 Obsidian 的一些缩退问题 643 | 644 | - **Obsidian** 在列表首行使用缩进的时候,后续的列表会出现一些问题 645 | - `Tab` 和 `Shift + tab` 会无法 缩进 退格 646 | - 可以使用 `Ctrl + ]` 与 `Ctrl + [` 来解决问题 647 | 648 | ```md 649 | - - 这是第一段就被缩进的列表 650 | - 这是第二段被再次缩进的列表 651 | - 这是第三段列表 652 | ``` 653 | 654 | - - 这是第一段就被缩进的列表 655 | - 这是第二段被再次缩进的列表 656 | - 这是第三段列表 657 | 658 |

659 | 660 | ## 5. 网页链接与图像 661 | 662 |
663 | 664 | ### 5.1 网页链接 665 | 666 | - **网页链接的 格式:** 667 | - **[** + 显示文本内容 + **]** + **(** + 链接地址 + **空格** + **"** + 提示信息文本 + **"** + **)** 668 | - **说明:** 669 | - 显示文本内容,是在渲染界面实际 **可见** 的文本,用以 **说明** 链接 670 | - 提示信息文本,需鼠标悬停于 **显示文本内容** 方可触发,用于增加额外提示信息 671 | - #注意 **`"提示信息文本"`** 是**可选项**,一般不会填 672 | - 一般来讲,需按住 **Ctrl** + **`鼠标左键点击`** 才可跳转链接,不过也有 **直接鼠标点击** 就能跳转的 673 | 674 | ```md 675 | [显示文本内容](链接地址 "提示信息文本") 676 | 677 | [百度一下,你就知道](http://www.baidu.com "按住Ctrl点击跳转百度") 678 | ``` 679 | 680 | **示范:** 681 | 682 | [百度一下,你就知道](http://www.baidu.com "按住Ctrl点击跳转百度") 683 | 684 |
685 | 686 | #### 5.1.1 链接的加粗 687 | 688 | - **格式有两种:** 689 | 690 | 1. 把一对 \*\* 加在 ==显示文本内容==的首尾 691 | 692 | - **格式 1:**`[**显示文本内容**](链接地址)` 693 | - **效果:** [**百度一下,你就知道**](http://www.baidu.com) 694 | 695 | 2. 把一对 \*\* 加在 链接格式==整体== 的首尾 696 | 697 | - **格式 2:**`**[显示文本内容](链接地址)**` 698 | - **效果:** **[百度一下,你就知道](http://www.baidu.com)** 699 | 700 |

701 | 702 | ### 5.2 图像 703 | 704 | - **图像格式:** 705 | - 图像格式,就是在网页链接前面加个 **!** (英文格式的),**`!`** 代表 **可见** 706 | - 图片的提示信息,和网页链接一样,写在 **`" "`** 内 707 | - **`[ ]`** 方括号里的文字信息在 **Markdown** 没啥实质的作用,只是方便在源代码模式下,知道这个图片是什么,在渲染界面是不会显示的。有点类似于 HTML **img 标签** 里的 **alt 属性**。 708 | 709 | ```md 710 | ![文字信息](图片链接 "提示文本信息") 711 | 712 | ![湘湖1](https://z3.ax1x.com/2021/08/06/fuNkXq.jpg "湘湖一角") 713 | ``` 714 | 715 | - **补充:** 716 | 717 | - 图像链接可以是**本地**的,也可以是**在线**的 718 | - 本地图像直接 **`Ctrl + C`** 黏贴,**`Ctrl + V`** 复制 就可以 719 | - 在线图像推荐使用 [图床](https://imgtu.com/ "这是一个在线图床网址") 720 | - 调整图像的大小需要使用 HTML 和 CSS,在 **Typora 编辑器** 中右键可以直接缩放图片 721 | 本质是转成了 HTML 的格式,最后会有一个 `style="zoom: %;"` ,这里数值可以自己修改 722 | - 如果有使用 **Obsidian** 的朋友,在线图片链接是通用的。不过,因为 **Obsidian** 是双向链笔记 723 | 它的**本地图片**格式不太一样 724 | - **`![[图片名]]`** 725 | - **Obsidian** 中的图片是以**双链**的格式引用在目标笔记中,用 **!** 使它可见 726 | - **Obsidian**的图片设置大小是用 **|** 分隔,后面写宽度数值,单位是 px。 727 | 设定好宽度,高度会自动**等比例调整** 728 | - `![[图片名|宽度数值]]` 729 | - 若想自主调整图片宽高,则用: 730 | - `![[图片名|宽度数值x高度数值]]` 731 | - #提示 这里的 `x` 是 英文字母**x** 732 | - 如果是**在线图床**,需要调整图片大小: 733 | - `![图床|宽度数值](链接地址)` 734 | 735 | #### 示范 736 | 737 | ![湘湖1|400](https://z3.ax1x.com/2021/08/06/fuNkXq.jpg "湘湖一角") 738 | 739 |

740 | 741 | ## 6. 表格 742 | 743 | - Markdown 的表格,比 HTML 简单很多 744 | - **|** 是构成表格的主要 **框架** 745 | - **-** 区分 **表头** 和 **表格主体** 746 | - **:** 控制 表格内 **文本内容** 的 **对齐方式** 747 | - **Typora 编辑器中 ** 输入 **`Ctrl + T`** 即可快速插入表格,自由定义样式 748 | 749 | ```md 750 | |这里是表头 1|这里是表头 2|这里是表头 3| 751 | |:-|:-:|-:| 752 | |单元格数据 1|单元格数据 2|单元格数据 3| 753 | |单元格数据 4|单元格数据 5|单元格数据 6| 754 | ``` 755 | 756 | #### 示范 757 | 758 | | 这里是表头 1 | 这里是表头 2 | 这里是表头 3 | 759 | | :----------- | :----------: | -----------: | 760 | | 单元格数据 1 | 单元格数据 2 | 单元格数据 3 | 761 | | 单元格数据 4 | 单元格数据 5 | 单元格数据 6 | 762 | 763 |
764 | 765 | ### 6.1 表格中文本内容的换行 766 | 767 | - Mardown 中表格,它的宽高是由 单元格数据内的文本内容 **撑开** 的 768 | - 当我们输入一段很长很长的文本,它所在的单元格会变得过宽 769 | 770 | **如下图所示:** 771 | 772 | | 表头 1 | 表头 2 | 773 | | :--------------------------------------------------------------------: | :------: | 774 | | 这是一段很长很长很长很长很长很长很长很长很长很长很长很长很长很长的文本 | 普通文本 | 775 | 776 | - 若想对一段长文本进行换行,可以在 **中间** 插入一个 **`
`** ( 换行标签 ) 777 | 778 | ```md 779 | | 表头 1 | 表头 2 | 780 | | :----------------------------------: | :------: | 781 | | 这是第一行文本
这是另起一行的文本 | 普通文本 | 782 | ``` 783 | 784 | #### 示范 785 | 786 | | 表头 1 | 表头 2 | 787 | | :----------------------------------: | :------: | 788 | | 这是第一行文本
这是另起一行的文本 | 普通文本 | 789 | 790 |

791 | 792 | ## 7. 代码域 793 | 794 |
795 | 796 | ### 7.1 行内代码 797 | 798 | - **行内代码 的格式:** 799 | - 输入两个 **`** 反引号 ,在中间写代码内容 800 | - **补充:** 801 | - 行内代码不一定非得写代码,也可以作为**`着重标记`**,突出显示内容 802 | - 行内代码中,源代码界面和渲染界面是完全一致的,标识符会失效 803 | - **所谓行内代码:** 只要你的屏幕足够宽,它就不会换行 804 | 805 | ```md 806 | `这是一段行内代码` 807 | 808 | `` 809 | 810 | `print("Hello, World!")` 811 | 812 | `这是一行突出显示的文本内容` 813 | ``` 814 | 815 | #### 示范 816 | 817 | `
` 818 | 819 |
820 | 821 | `print("Hello, World!")` 822 | 823 |
824 | 825 | `这是一行突出显示的文本内容` 826 | 827 |
828 | 829 | ### 7.2 代码块 830 | 831 | - **代码块 的格式:** 832 | 1. 在首行和末行各加 **三个** **`** 反引号 833 | - **` ``` `** + 语言种类 834 | 代码内容 835 | **` ``` `** 836 | 2. 在首行和末行各加 **三个** **~** 波浪号 837 | - **`~~~`** + 语言种类 838 | 代码内容 839 | **`~~~`** 840 | - **补充:** 841 | - 在代码块也不一定要写代码,可以写**一段**突出的文本内容,语言类型可以填写 **txt** 或者 **干脆不写** 842 | - 代码块中,源代码界面和渲染界面是完全一致的,标识符会失效 843 | - 在 **Typora 编辑器** ,用键盘按键脱离代码块区域,需输入: **Ctrl + Enter** 844 | 845 | ````md 846 | ```语言种类 847 | 代码内容 848 | 代码内容 849 | 代码内容 850 | ``` 851 | 852 | 下面是 HTML 代码块 853 | 854 | ```html 855 |
856 | 857 | 858 | 859 | 860 | 861 | 862 | 863 | 864 |
row 1, cell 1row 1, cell 2
row 2, cell 1row 2, cell 2
865 | ``` 866 | 867 | 下面是 CSS 代码块 868 | 869 | ```css 870 | .box { 871 | width: 600px; 872 | height: 400px; 873 | margin: 100px auto; 874 | background-image: linear-gradient( 875 | black 33.3%, 876 | red 33.3%, 877 | red 66.6%, 878 | yellow 66.6%, 879 | yellow 880 | ); 881 | } 882 | ``` 883 | 884 | 下面是 JavaScript 代码块 885 | 886 | ```js 887 | // 定义一个30个整数的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程 888 | let arr = [ 889 | 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 890 | 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 891 | ]; 892 | let newarr = []; 893 | for (let i = 0, count = 0, sum = 0, len = arr.length; i < len; i++) { 894 | sum += arr.shift(); 895 | count++; 896 | if (count % 5 === 0) { 897 | newarr.push(sum / 5); 898 | sum = 0; 899 | } 900 | } 901 | console.log(newarr); 902 | 903 | let arr = [ 904 | 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 905 | 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 906 | ]; 907 | let newarr = []; 908 | for (let i = 0, len = arr.length; i < len / 5; i++) { 909 | let subarr = arr.splice(0, 5); 910 | for (let j = 0, sum = 0; j < subarr.length; j++) { 911 | sum += subarr[j]; 912 | } 913 | newarr.push(sum / 5); 914 | } 915 | console.log(newarr); 916 | ``` 917 | 918 | 下面是 Python 代码块 919 | 920 | ```python 921 | #!/usr/bin/python 922 | # -*- coding: UTF-8 -*- 923 | 924 | i = 2 925 | while(i < 100): 926 | j = 2 927 | while(j <= (i/j)): 928 | if not(i%j): break 929 | j = j + 1 930 | if (j > i/j) : print i, " 是素数" 931 | i = i + 1 932 | 933 | print "Good bye!" 934 | ``` 935 | 936 | 下面是一块突出显示的文本 937 | 938 | ```txt 939 | 这是一段 940 | 突出显示的 941 | 文本内容 942 | ``` 943 | ```` 944 | 945 | #### 示范 946 | 947 | ```html 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | 957 |
row 1, cell 1row 1, cell 2
row 2, cell 1row 2, cell 2
958 | ``` 959 | 960 | ```css 961 | .box { 962 | width: 600px; 963 | height: 400px; 964 | margin: 100px auto; 965 | background-image: linear-gradient( 966 | black 33.3%, 967 | red 33.3%, 968 | red 66.6%, 969 | yellow 66.6%, 970 | yellow 971 | ); 972 | } 973 | ``` 974 | 975 | ```js 976 | // 定义一个30个整数的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程 977 | let arr = [ 978 | 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 979 | 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 980 | ]; 981 | let newarr = []; 982 | for (let i = 0, count = 0, sum = 0, len = arr.length; i < len; i++) { 983 | sum += arr.shift(); 984 | count++; 985 | if (count % 5 === 0) { 986 | newarr.push(sum / 5); 987 | sum = 0; 988 | } 989 | } 990 | console.log(newarr); 991 | 992 | let arr = [ 993 | 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 994 | 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 995 | ]; 996 | let newarr = []; 997 | for (let i = 0, len = arr.length; i < len / 5; i++) { 998 | let subarr = arr.splice(0, 5); 999 | for (let j = 0, sum = 0; j < subarr.length; j++) { 1000 | sum += subarr[j]; 1001 | } 1002 | newarr.push(sum / 5); 1003 | } 1004 | console.log(newarr); 1005 | ``` 1006 | 1007 | ```python 1008 | #!/usr/bin/python 1009 | # -*- coding: UTF-8 -*- 1010 | 1011 | i = 2 1012 | while(i < 100): 1013 | j = 2 1014 | while(j <= (i/j)): 1015 | if not(i%j): break 1016 | j = j + 1 1017 | if (j > i/j) : print i, " 是素数" 1018 | i = i + 1 1019 | 1020 | print "Good bye!" 1021 | ``` 1022 | 1023 | ```txt 1024 | 这是一段 1025 | 突出显示的 1026 | 文本内容 1027 | ``` 1028 | 1029 |
1030 | 1031 | #### 7.2.1 代码块的嵌套 1032 | 1033 |
1034 | 1035 | **格式:** 1036 | 1037 | - 使用**4**个 `` ` `` 包裹 **3**个 `` ` `` 1038 | 1039 | ##### 示范 1040 | 1041 | `````md 1042 | ````txt 1043 | ```js 1044 | // 3. 输出 100以内(不包括100) 所有偶数的和 1045 | // 这类求和问题的核心 : 利用循环  (总和 = 旧数的和 + 新数) 1046 | 1047 | let sum = 0; 1048 | 1049 | for (let i = 1, sum = 0; i < 100; i++) { 1050 | if (i % 2 == 0) { 1051 | // 筛选偶数 1052 | sum += i; // sum = sum + i // 累加偶数并赋值给sum 1053 | // sum为(旧的,已经进入循环的数)的和,i 为新进入循环的数。当加到(最后一个新数i)时,sum就是最后的 总和 1054 | } 1055 | } 1056 | 1057 | console.log(sum); // 打印总和 1058 | ``` 1059 | ```` 1060 | ````` 1061 | 1062 |
1063 | 1064 | 如果要再套一层,就在最外层 加 **5**个 `` ` `` ,以此类推…… 1065 | 1066 |
1067 | 1068 | ### 7.3 如何在行内代码里显示反引号 1069 | 1070 | 首尾各用 两个反引号`` ` ``+ `空格` 包裹 1071 | 1072 | **格式:** 1073 | 1074 | ```md 1075 | `` +空格+带`的内容+空格+ `` 1076 | 1077 | `` 这是一段能显示`反引号`的行内代码 `` 1078 | ``` 1079 | 1080 | **效果:** 1081 | 1082 | `` 这是一段能显示`反引号`的行内代码 `` 1083 | 1084 |

1085 | 1086 | ## 8. 任务列表(待办) 1087 | 1088 | - **任务列表 的格式:** 1089 | - **-** + **空格** +**`[ ]`** +**空格** + 任务列表内容 ( 中括号`[ ]` 里面必须有个空格) 1090 | - 给待办任务列表打 **`√`** ,变成 **已办** 1091 | 1. 在渲染界面,直接鼠标左键点击框框 1092 | 2. 在源代码界面,在中括号内输入 **英文字母 x** 1093 | - 部分编辑器,在 中括号内 输入**任意字符**都可以打 **`√`** ( 例如 **Obsidian** ) 1094 | - **补充:** 1095 | 1096 | - 大部分 MD 编辑器 支持输入第一个任务列表后,按下 **Enter** 进入下一行会 **自动补全待办格式** 1097 | - 在**Obsidian**中,连续输入**两次** `Ctrl + Enter` ,即可生成一个待办列表 1098 | - 再输入一次 `Ctrl + Enter` ,会在待办列表 打 **`√`** 1099 | 1100 | - **格式:** 1101 | 1102 | ```md 1103 | - [ ] 待办任务列表 1 1104 | - [ ] 待办任务列表 2 1105 | - [x] 已办任务列表 1 1106 | - [x] 已办任务列表 2 1107 | ``` 1108 | 1109 | ### 示范 1110 | 1111 | - [ ] 待办任务列表 1 1112 | - [ ] 待办任务列表 2 1113 | - [x] 已办任务列表 1 1114 | - [x] 已办任务列表 2 1115 | 1116 |
1117 | 1118 | - 在 **Obsidian** 中,可以利用 **Ctrl** + **Enter** ,快速生成任务列表 1119 | 1. **`-`** + **空格** + **Ctrl** + **Enter** +待办文本内容 1120 | 2. 待办文本内容 + **Ctrl** + **Enter** **×2**   ( 输入文本后,连续 2 次 `Ctrl + enter` ) 1121 | 1122 |
1123 | 1124 | - **任务列表也是可以缩进+退格的,操作跟 无序、有序列表一样** 1125 | 1126 | ### 示范 1127 | 1128 | - [ ] 第一级待办列表 1 1129 | - [ ] 第二级待办列表 1 1130 | 另起一行的第二级待办列表 1 1131 | - [x] 第三级已办列表 1 1132 | - [x] 第三级已办列表 2 1133 | - [ ] 第二级待办列表 2 1134 | 另起一行的第二级待办列表 2 1135 | - [ ] 第一级待办列表 2 1136 | 1137 |

1138 | 1139 | ## 9. 注释 1140 | 1141 | **Markdown** 的 **注释** 和 **HMTL** 一样,注释的内容在 **渲染界面** **不可见** (部分编辑器可见) 1142 | 1143 | - **注释 的格式:** 1144 | - `` 1145 | - 注释可以是单行,也可以是多行 1146 | - 如果有在使用 **Obsidian** 的,它的注释格式是不一样的 1147 | - **`%%这是Obsidian的注释内容%%`** 1148 | 1149 | ```md 1150 | 1151 | 1152 | 1159 | 1160 | %%这是一行 Obsidian 里的注释%% 1161 | 1162 | %% 1163 | 这里是 1164 | 一段 1165 | 假装有 1166 | 很多行的 1167 | Obsidian 里的 1168 | 注释 1169 | %% 1170 | ``` 1171 | 1172 | ### 示范 (只有切换至 编辑模式 才能看到喔) 1173 | 1174 | 1175 | 1176 | 1182 | 1183 | %%这是一行 Obsidian 里的注释%% 1184 | 1185 | %% 1186 | 这里是 1187 | 一段 1188 | 假装有 1189 | 很多行的 1190 | Obsidian 里的 1191 | 注释 1192 | %% 1193 | 1194 |

1195 | 1196 | ## 10. 变量 1197 | 1198 |
1199 | 1200 | ### 10.1 网页链接变量 1201 | 1202 | - **网页链接变量 的格式:** 1203 | 1. 首先输入 1204 | - **`[显示文本内容]`** + **`[变量名]`** 1205 | - 变量名可以自己取,没啥限制,任意字符都可以 1206 | 2. 在文档任意一个区域,输入: 1207 | - **`[变量名]`** + **:** + **空格** + 链接地址 (这个**空格** 不打也没事) 1208 | 1209 | ```md 1210 | [百度一下,你就知道][度娘] 1211 | [知乎-有问题,就会有答案][知乎] 1212 | 1213 | 1214 | 1215 | [度娘]: http://www.baidu.com 1216 | [知乎]: https://www.zhihu.com 1217 | ``` 1218 | 1219 | #### 示范 1220 | 1221 | [百度一下,你就知道][度娘] 1222 | 1223 | [知乎-有问题,就会有答案][知乎] 1224 | 1225 |
1226 | 1227 | ### 10.2 脚注 1228 | 1229 | - **脚注 的格式:** 1230 | - 在需要脚注的地方,输入: 1231 | - **`[^脚注代号]`** ( 脚注代号会直接显示在渲染界面 ) 1232 | - 脚注代号可以随便命名,不过推荐使用 **数字序号** 1233 | - 在其他区域,输入: 1234 | - **`[^脚注代号]`** + **:** + **空格** + 脚注内容 (这个 **空格** 不打也没事) 1235 | 1236 | ```md 1237 | 鲁迅原名是什么[^1] ,浙江哪里人[^2] 1238 | 1239 | 1240 | 1241 | [^1]: 周树人 1242 | [^2]: 绍兴人 1243 | ``` 1244 | 1245 | #### 示范 1246 | 1247 | 鲁迅原名是什么[^1],浙江哪里人[^2] 1248 | 1249 |

1250 | 1251 | ## 11. 拓展文本格式标记 1252 | 1253 | - **Markdown** 想实现更多的文本显示效果,只能依赖 HTML 标记实现 1254 | - 个人**不是很推荐**在 MD 中使用 HTML,不过一些简单的标记还是可以 **轻度使用** 的 1255 | 1256 |
1257 | 1258 | ### 11.1 键盘文本 1259 | 1260 | - **键盘文本的 格式:** 1261 | 1262 | - **`键盘文本`** 1263 | - **`Ctrl + X`** 1264 | 1265 | - **效果:** 1266 | 1267 | - **键盘文本** 1268 | - **Ctrl** + **X** ( 剪切 ) 1269 | 1270 | - **说明:** 1271 | 1272 | - 键盘文本也不一定非得是键盘按键,也可以作为**着重文本**突出显示 1273 | - **效果:** 这也算一种着重文本的方式 1274 | 1275 | #### 11.1.1 加粗键盘文本 1276 | 1277 | - **加粗**键盘文本的格式有**两种**: 1278 | 1279 | - `**键盘文本**` 1280 | - `**ctrl + x**` 1281 | 1282 | - **效果:** 1283 | 1. **键盘文本** 1284 | 2. **ctrl + x** 1285 | 1286 |
1287 | 1288 | ### 11.2 放大文本 1289 | 1290 | - **放大文本 的格式:** 1291 | 1292 | - **`这是一段普通文本`** 1293 | `这是一段放大文本` 1294 | 1295 | - **效果:** 1296 | - 这是一段普通文本 1297 | 这是一段放大文本 1298 | 1299 | #### 11.2.1 放大粗体文本 1300 | 1301 | - 放大**加粗**文本的格式有**两种**: 1302 | 1. `**这是一段放大粗体文本**` 1303 | 2. `**这是一段放大粗体文本**` 1304 | - **效果:** 1305 | 1. **这是一段放大粗体文本** 1306 | 2. **这是一段放大粗体文本** 1307 | 1308 |
1309 | 1310 | ### 11.3 缩小文本 1311 | 1312 | - **缩小文本 的格式:** 1313 | - **`这是一段普通文本`** 1314 | **`这是一段缩小文本`** 1315 | - **效果:** 1316 | - 这是一段普通文本 1317 | 这是一段缩小文本 1318 | 1319 | #### 11.3.1 缩小斜体文本 1320 | 1321 | - **斜体**缩小文本 的格式有**两种**: 1322 | 1. `*这是一段缩小斜体文本*` 1323 | 2. `*这是一段缩小斜体文本*` 1324 | - **效果:** 1325 | 1. _这是一段缩小斜体文本_ 1326 | 2. _这是一段缩小斜体文本_ 1327 | 1328 |
1329 | 1330 | ### 11.4 多彩文本 1331 | 1332 | - **多彩文本 的格式:** 1333 | - **`这是一段橘色文本`** 1334 | - **效果:** 1335 | - 这是一段橘色文本 1336 | - color 里的颜色支持 英文单词,**[16 进制](http://c.runoob.com/front-end/55 "可跳转至菜鸟教程了解"),[rgb](https://www.runoob.com/cssref/func-rgb-css.html "可跳转至菜鸟教程了解"),[rgba](https://www.runoob.com/cssref/func-rgba.html "可跳转至菜鸟教程了解")** 1337 | 1338 |
1339 | 1340 | #### 11.4.1 多彩粗体文本 1341 | 1342 | - 只需要在上面示例的基础上,加上 **加粗标识符**,有**两种**格式: 1343 | 1. **格式 1:** `**这是一段加粗的水鸭色文本**` 1344 | - **效果:** **这是一段加粗的水鸭色文本** 1345 | 2. **格式 2:** `**这是一段加粗的水鸭色文本**` 1346 | - **效果:** **这是一段加粗的水鸭色文本** 1347 | - 若上述混搭方法的样式**失效** ,可以使用 纯 HTML 标记 1348 | - **格式:** `这是一段加粗的水鸭色文本` (标记略复杂,不是很推荐) 1349 | - **效果:** 这是一段加粗的水鸭色文本 1350 | 1351 |
1352 | 1353 | #### 11.4.2 多彩斜体文本 1354 | 1355 | - 跟多彩加粗文本完全一样,只需把首尾的 `**` 换成 `*` 即可 1356 | 1357 | 1. **格式 1:** `*This is an italic teal text*` 1358 | - **效果:** _This is an italic teal text_ 1359 | 2. **格式 2:** `*This is an italic teal text*` 1360 | - **效果:** _This is an italic teal text_ 1361 | 1362 |
1363 | 1364 | #### 11.4.2 多彩粗斜体文本 1365 | 1366 | - 首尾换成 `***` 1367 | 1368 | 1. **格式 1:** `***This is a bold italic teal text***` 1369 | - **效果:** **_This is a bold italic teal text_** 1370 | 2. **格式 2:** `***This is a bold italic teal text***` 1371 | - **效果:** **_This is a bold italic teal text_** 1372 | 1373 |
1374 | 1375 | #注意 多彩文本尽量慎用,**Markdown** 的核心就是 **简洁精炼**,注重 **实质内容**,而非花哨的 颜色样式 1376 | 1377 |

1378 | 1379 | ## 12. 拓展文本显示效果 1380 | 1381 | - 拓展显示效果既不是原生 **Markdown 语法** 支持的,也非 HTML 标记,而是部分编辑器 提供的 **额外标识符**,属于拓展语法,旨在为 **Markdown 使用者** 提供更多样式选择 1382 | - 不同编辑器,支持不一样,这里以 **Typora 编辑器** 为例 1383 | 1384 |
1385 | 1386 | ### 12.1 文本高亮 1387 | 1388 | - **文本高亮 的格式:** 1389 | - **`==这里是一段高亮文本==`** 1390 | - **效果:** 1391 | - ==这里是一段高亮文本== 1392 | 1393 |
1394 | 1395 | ### 12.2 上标 1396 | 1397 | - 用一对 **^** 包裹 (**Shift+ 6**) 1398 | - **格式:** **`x^2^`** 1399 | - **效果:** x^2^ 1400 | - **Obsidian** 没效果的,可以用后面会讲的 **Latex** 1401 | - 或者,也可以使用 **HTML 标记** 1402 | - `这里是上标内容` 1403 | - `X2` 1404 | - **效果:** 1405 | - **X2** 1406 | 1407 |
1408 | 1409 | ### 12.3 下标 1410 | 1411 | - 用一对 **~** 包裹 (**Shift + `**) 1412 | - **格式:** **`H~2~O`** 1413 | - **效果:** H~2~O 1414 | - **Obsidian** 没效果的,可以用后面会讲的 **Latex** 1415 | - 或者,也可以使用 **HTML 标记** 1416 | - `这里是下标内容` 1417 | - `H2O` 1418 | - **效果:** 1419 | - **H2O** 1420 | 1421 |
1422 | 1423 | ### 12.4 Emoji 符号 1424 | 1425 | 用一对 : 包裹,里面是 **Emoji** 符号的 **语义化文本** ( **Typora 编辑器** 中,输入 `:` 就会带提示器 ) 1426 | 1427 | - **示例:** 1428 | - `:smile:` 1429 | `:sweat:` 1430 | `:cat:` 1431 | `:woman_cartwheeling:` 1432 | - **效果:** 1433 | - :smile: 1434 | :sweat: 1435 | :cat: 1436 | :woman_cartwheeling: 1437 | 1438 |
1439 | 1440 | - **补充:** 1441 | - 不支持上述方式的 MD 编辑器或笔记软件,直接用 **输入法** 输入也是可以的 1442 | - **Windows 系统** 用户 **win + .** 就可以输入 Emoji 了 1443 | - **Obsidian** 用户可以安装**第三方插件**来支持 **Emoji** 的输入,推荐两个 1444 | 1. ==Emoji Shortcodes== 1445 | 2. ==Emoji Toolbar== 1446 | 1447 |

1448 | 1449 | ## 13. 转义字符 1450 | 1451 | - 在 **Markdown** 中,我们 通过 **标识符** 改变 **文本显示效果** 1452 | - 现在我们希望它不作为标识符,而是 **作为字符本身呈现出来** (不具备改变文本显示效果的功能,只是一个**普通字符**) 1453 | - 首先我们可以用前面介绍的 **代码域** ,因为代码模式的显示效果就是源代码**完全一致**的 1454 | - 还有一种方法,可以利用转义字符,在这些标识符 **前面** 加上 **反斜线** **\\** ( 反斜线要紧贴在标识符前面,**不能** 有 **空格** ) 1455 | - **原理:** 1456 | - **`\`** 的作用是让标识符 **转义** 变为一个**普通字符**,完成这个效果后,反斜线会**自动隐藏** 1457 | - 隐藏后的反斜线仅在**源代码**界面**可见**,在**渲染**界面**不可见** 1458 | - 反斜线只**争对标识符**起作用,其他字符添加 **`\`**,**`\`** 不会自动隐藏 1459 | - **补充:** 1460 | - 如果想给已经被加在标识符前面,会自动隐藏的 **`\`** 显示出来,可以在反斜线前面再加一个 **\\** ,用它**自己来转义自己** 1461 | - **示例:** **`这里紧跟在标识符前面的反斜线\\*会被转义成普通字符显示出来,不会自动隐藏,且这段文件会是斜体*`** 1462 | - **效果: ** 这里紧跟在标识符前面的 反斜线\\_会被转义成普通字符显示出来,不会自动隐藏,且这段文件会是斜体_ 1463 | 1464 |
1465 | 1466 | ### 例 1 以普通字符显示星号 1467 | 1468 | - 如何让被一对或多对 **`*`** 号 包裹的文本内容,能够正常显示 **`*`** ,且文本不改变格式 1469 | - `\*这段文本被一对星号包裹,但不会倾斜\*` 1470 | - **效果:** \*这段文本被 1 对星号包裹,但不会倾斜\* 1471 | - `\*\*这段文本被2对星号包裹,但不会加粗\*\*` 1472 | - **效果:** \*\*这段文本被 2 对星号包裹,但不会加粗\*\* 1473 | - `\*\*\*这段文本被3对星号包裹,但它既不倾斜也不加粗\*\*\*` 1474 | - **效果:** \*\*\*这段文本被 3 对星号包裹,但它既不倾斜也不加粗\*\*\* 1475 | 1476 |
1477 | 1478 | ### 例 2 表格内 单元格中的竖杠 1479 | 1480 | - 在表格中,使用 **|** 作为单元格的内容,但**不会**被识别为**表格的结构**,不会增加额外的单元格 1481 | 1482 | ```md 1483 | | 表头 1 | 表头 2 | 1484 | | ------------------ | -------------------- | 1485 | | 这里的文本被\|分隔 | 这里的文本也被\|分隔 | 1486 | ``` 1487 | 1488 | - **效果:** 1489 | 1490 | | 表头 1 | 表头 2 | 1491 | | :----------------: | :------------------: | 1492 | | 这里的文本被\|分隔 | 这里的文本也被\|分隔 | 1493 | 1494 |
1495 | 1496 | #补充 该技巧可用于 **Obsidian** 表格内 双链的文本修饰 1497 | 1498 | **文本修饰:** 1499 | 1500 | 在 双链`[[ ]]`内 以 `|` 引导的内容 1501 | 1502 | - **格式:** `[[链接的内容|文本修饰]]` 1503 | - **说明:** 文本修饰是渲染界面实际显示的文本,便于更好地融入语境 1504 | 1505 | **表格内的格式:** 1506 | 1507 | 在 `|` 前面加上 `\` 1508 | 1509 | - `[[表格内的链接内容\|文本修饰]]` 1510 | 1511 | **示例:** 1512 | 1513 | ```md 1514 | | 表头 1 | 表头 2 | 1515 | | :--------------------------------------------: | :-------------------------------------------------: | 1516 | | [[#例2 表格内 单元格中的竖杠\|单元格中的竖杠]] | [[#例3 不会变成代码的反引号\|不会变成代码的反引号]] | 1517 | ``` 1518 | 1519 | **效果:** 1520 | 1521 | | 表头 1 | 表头 2 | 1522 | | :--------------------------------------------: | :-------------------------------------------------: | 1523 | | [[#例2 表格内 单元格中的竖杠\|单元格中的竖杠]] | [[#例3 不会变成代码的反引号\|不会变成代码的反引号]] | 1524 | 1525 |
1526 | 1527 | ### 例 3 不会变成代码的反引号 1528 | 1529 | 使用 转义符号`\` 让 反引号`` ` `` 变成普通字符,不再具有[[#7 1 行内代码|行内代码]]的标识符功能 1530 | 1531 | **格式:** 1532 | 1533 | `` \`这段被反引号包裹的内容不会变成行内代码\` `` 1534 | 1535 | **效果:** 1536 | 1537 | \`这段被反引号包裹的内容不会变成行内代码\` 1538 | 1539 |
1540 | 1541 | ### 例 4 链接中的中括号 1542 | 1543 | 在 **网页链接** 的 **显示文本内容** 中,使用 **中括号** **`[ ]`** 1544 | 1545 | - 在显示文本内容中,在其中一个中括号前面,加上**转义符号** 反斜杠 **\\** 1546 | - **格式:** **`[链接里的 \[中括号\] 能被正常显示](https://www.runoob.com)`** 1547 | - **效果:** [链接里的 \[中括号\] 能被正常显示](https://www.runoob.com) 1548 | 1549 |
1550 | 1551 | ### 例 5 不是列表的连接符(横杠) 1552 | 1553 | - 引用一段话,一般会在换行之后,加上 **`- 出处`** 1554 | - 因为 **-** 是标识符,会变成一个无序列表 1555 | 1556 | **如下所示:** 1557 | 1558 | > The Web, the Tree, and the String. 1559 | > 写作之难,在于把网状的思考,用树状结构,体现在线性展开的语句里。 1560 | > 1561 | > - 史蒂芬·平克 1562 | 1563 | - **解决方法:** 1564 | 1565 | - 在 **-** 前面加上 转义符号 **\\** 1566 | 1567 | ```md 1568 | > The Web, the Tree, and the String. 1569 | > 写作之难,在于把网状的思考,用树状结构,体现在线性展开的语句里。 1570 | > \- 史蒂芬·平克 1571 | ``` 1572 | 1573 | - **效果:** 1574 | 1575 | > The Web, the Tree, and the String. 1576 | > 写作之难,在于把网状的思考,用树状结构,体现在线性展开的语句里。 1577 | > \- 史蒂芬·平克 1578 | 1579 |
1580 | 1581 | ### 例 6 不是标题的 \# 1582 | 1583 | 让 `#` 不被识别为标题标识符 1584 | 1585 | **格式:** 1586 | 1587 | `\# 这里的内容不会被识别为标题` 1588 | 1589 | **效果:** 1590 | 1591 | \# 这里的内容不会被识别为标题 1592 | 1593 |
1594 | 1595 | ### 例 7 不会注释的 \% 1596 | 1597 | 在 **Obsidian** 中 注释是前后各两个 `%` 号 1598 | 1599 | 使用 转义符号`\`,让 `%%` 作为普通字符显示出来,不具备注释的功能 1600 | 1601 | - **格式:** `\%\%这里的内容可以被显示喔\%\%` 1602 | - **效果:** \%\%这里的内容可以被显示喔\%\% 1603 | 1604 |
1605 | 1606 | ### 例 8 木有链接的双链 1607 | 1608 | **Obsidian** 的双向链格式是 2 个方括号 `[[ ]]` (双方),使用 转义符号`\`,让 `[` `]` 不再具有 双链功能 1609 | 1610 | **格式:** 1611 | 1612 | `\[\[这段文本被双方包裹,但不是一个双向链\]\]` 1613 | 1614 | **效果:** 1615 | 1616 | \[\[这段文本被双方包裹,但不是一个双向链\]\] 1617 | 1618 |
1619 | 1620 | ### 例 9 页链接里 显示文本内的 中括号 1621 | 1622 | 使用转义符号`\`,让`中括号`可以作为`显示文本` 在[[#5 1 网页链接|网页链接]]中显示出来 1623 | 1624 | **格式:** 1625 | 1626 | ```md 1627 | [\[这是一个带中括号的网页链接显示文本,点击会跳转至百度\]](https://www.baidu.com/) 1628 | ``` 1629 | 1630 | **效果:** 1631 | 1632 | [\[这是一个带中括号的网页链接显示文本,点击会跳转至百度\]](https://www.baidu.com/) 1633 | 1634 |
1635 | 1636 | ### 特殊情况 文本修饰的中括号 1637 | 1638 | 文本修饰的 中括号`[ ]` **不需要**使用 转义符号`\` 1639 | 1640 | **示范:** 1641 | 1642 | `[[#例8 木有链接的双链|[这是一个带中括号的文本修饰]]]` 1643 | 1644 | **效果:** 1645 | 1646 | [[#例8 木有链接的双链|[这是一个带中括号的文本修饰]]] 1647 | 1648 |

1649 | 1650 | ## 14. 空格&换行&强制删除 1651 | 1652 |
1653 | 1654 | ### 14.1 空格 1655 | 1656 | - 在一些编辑器或者支持 MD 的笔记软件里,无论你打多少个**空格**,它只会显示单个 **空格** 的距离 1657 | - 可以使用 HTML 中 **空格** 的 **字符实体** —— **` `** 1658 | - 若要添加 **多个** 空格,就输入多个 —— **`       `** 1659 | - **格式:** 1660 | - **`这里有      6个空格分隔`** 1661 | - **效果:** 1662 | - 这里有      6 个空格分隔 1663 | 1664 |
1665 | 1666 | ### 14.2 换行 1667 | 1668 | **场景 1:** 1669 | 1670 | - 在一些编辑器或者支持 MD 的笔记软件里,无论你打多少个 **回车**,它只会显示单个 **回车** 的空行间距 1671 | - 可以使用之前表格里提到的 **`
`** 标签,在 **单独一行** 中使用,增加额外的空行间距 1672 | - 如果要增加 **多个**,就输入 **多个** —— **`




`** 1673 | - #注意 当单独一行使用 `
` 标签的时候,如果前后有标题标识符或者列表标识符,确保 **br 元素** 前后两行都是空白行 1674 | 1675 | **格式:** 1676 | 1677 | ```md 1678 | 这里是第一段文本 1679 | 1680 |




1681 | 1682 | 这里是第二段文本 1683 | ``` 1684 | 1685 | **效果:** 1686 | 1687 | 这里是第一段文本 1688 | 1689 |




1690 | 1691 | 这里是第二段文本 1692 | 1693 |

1694 | 1695 | **场景 2:** 1696 | 1697 | - 在列表中也可以插入换行符 1698 | 1699 | ```md 1700 | - 这是一段无序列表 1701 |
1702 | 这是同一段无序列表中,空一行距离显示的内容 1703 | - 这是第二段无序列表 1704 | ``` 1705 | 1706 | **效果:** 1707 | 1708 | - 这里是第一段无序列表 1709 |
1710 | 这里是同一段无序列表中,空一行距离显示的内容 1711 | - 这里是第二段无序列表 1712 | 1713 |
1714 | 1715 | - **补充:** 1716 | - 有一些 MD 编辑器或笔记软件,严格遵循 MD 的换行规则,你敲一个回车是没法换行的,必须在 **行末** 敲 **2 个空格**,再按回车键 1717 | - **格式:** 1718 | - 这里是一段想换行的文本空格 空格 Enter 1719 | 这是换行后的文本 1720 | 1721 |
1722 | 1723 | ### 14.3 强制删除 1724 | 1725 | - 很多编辑器都有英文标点自动补全功能,自动生成一对,光标落在中间 1726 | 只想删除前面 1 个,却会把 **一整对** 都删掉 1727 | - 在多个列表的嵌套中,也许会遇到一些 **无法被删除** 的 **列表标识符** 1728 | - **解决方法:** 1729 | 使用 **`Shift`** + **`Backspace`** 即可强制删除 1730 | - **Bcakspace**   ( 退格键 ) 1731 | 1732 |

1733 | 1734 | ## 15. 嵌入 1735 | 1736 | - 嵌入都是依赖 **HTML 标签** 实现的,嵌入的都是**在线**链接格式 1737 | - 如果是本地的,**Obsidian** 中音频是有自带的可录制的录音机插件的,其他的 **音频、视频** 直接复制黏贴就可以了,也可以直接拖拽到 OB 的笔记界面 1738 | - 其他的媒体文件在 **Obsidian** 也和图片一样,以**双链**的格式引用在目标笔记中,使用 **!** 使它可见 1739 | 1740 |
1741 | 1742 | ### 15.1 嵌入音频 1743 | 1744 | - **格式:** 1745 | 1746 | - **``** 1747 | 1748 | - **示例:** 1749 | 1750 | ```html 1751 | 1756 | ``` 1757 | 1758 | - **效果:** 1759 | 1760 | 1761 | 1762 |
1763 | 1764 | ### 15.2 嵌入视频 1765 | 1766 | - **格式:** 1767 | 1768 | ```html 1769 | 1774 | ``` 1775 | 1776 | - **说明:** 1777 | - width ( 宽度 ) height ( 高度 ) ,可以自己设置,直接输入数字即可,单位默认是 px(像素) 1778 | 也可以使用 **百分比** 1779 | **`width=100%`** 代表水平撑满整个窗口 1780 | **`height=50%`** 代表垂直撑满半个窗口 1781 | - **Video 标签** 支持的视频格式 :MP4 ogg webm 1782 | 1783 |
1784 | 1785 | ### 15.3 嵌入页面 1786 | 1787 | - **格式:** **``** 1788 | 1789 | ```html 1790 | 1801 | ``` 1802 | 1803 | - **效果:** 1804 | 1805 | 1806 | 1807 |
1808 | 1809 | - **iframe 标签** 除了嵌入页面,也可以嵌入**在线视频**,主流的视频网站都会提供**嵌入代码** 1810 | 1811 | - 具体可以看这个 [iframe 视频嵌入教程](https://www.wolai.com/wolai/go85vJpt3wDwrid7DfCZcE) 1812 | - **B 站** 的视频,得在 **`//`** 前面补充 **`http:`** 1813 | - 不是所有的 编辑器和笔记软件 都支持这个 1814 | 1815 | - **示例:** 1816 | 1817 | ```html 1818 | 1829 | ``` 1830 | 1831 | - 宽高设置和前面的 **video** 一样 1832 | 1833 |
1834 | 1835 | - **效果:** 1836 | 1837 | 1838 | 1839 |

1840 | 1841 | ## 16. Latex 数学公式 1842 | 1843 | - 主要用于 **数学公式** 与 **化学公式** 的书写 1844 | 1845 |
1846 | 1847 | ### 16.1 行内公式 1848 | 1849 | - **格式:** 1850 | 1851 | - **$** + 行内公式 + **$** 1852 | 1853 |
1854 | 1855 | - **示例:** 1856 | - **`$x^2 + 2x + 5 + \sqrt x = 0$`** 1857 | - **`$\ce{CO2 + C -> 2 CO}$`** 1858 | - `$\ce{CO2 + C -> 2 CO}$` 1859 | - `$\ce{2Mg + O2 ->[燃烧] 2 MgO}$` 1860 | 1861 |
1862 | 1863 | - **效果:** 1864 | - $x^2 + 2x + 5 + \sqrt x = 0$ 1865 | - $e^{i\pi} + 1 = 0$ 1866 | - $\ce{CO2 + C -> 2 CO}$ 1867 | - $\ce{2Mg + O2 ->[燃烧] 2 MgO}$ 1868 | 1869 |
1870 | 1871 | ### 16.2 公式块 1872 | 1873 | - **格式:** 1874 | - **`$$`** 1875 | 公式块 1876 | **`$$`** 1877 | 1878 |
1879 | 1880 | - **示例:** 1881 | 1882 | ```latex 1883 | % 化学公式 1884 | $$ 1885 | \ce{Zn^2+ <=>[+ 2OH-][+ 2H+] $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$} 1886 | $$ 1887 | ``` 1888 | 1889 | ```latex 1890 | % 麦克斯韦方程组 1891 | $$ 1892 | \begin{array}{lll} 1893 | \nabla\times E &=& -\;\frac{\partial{B}}{\partial{t}} 1894 | \ \nabla\times H &=& \frac{\partial{D}}{\partial{t}}+J 1895 | \ \nabla\cdot D &=& \rho 1896 | \ \nabla\cdot B &=& 0 1897 | \ \end{array} 1898 | $$ 1899 | ``` 1900 | 1901 | ```latex 1902 | % 薛定谔方程 1903 | $$ 1904 | i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} \left(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2} \right) \psi + V \psi 1905 | $$ 1906 | ``` 1907 | 1908 |
1909 | 1910 | - **效果:** 1911 | 1912 | $$ 1913 | % 化学公式 1914 | \ce{Zn^2+ <=>[+ 2OH-][+ 2H+] $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$} 1915 | $$ 1916 | 1917 |
1918 | 1919 | $$ 1920 | % 麦克斯韦方程组 1921 | \begin{array}{lll} 1922 | \nabla\times E &=& -\;\frac{\partial{B}}{\partial{t}} 1923 | \ \nabla\times H &=& \frac{\partial{D}}{\partial{t}}+J 1924 | \ \nabla\cdot D &=& \rho 1925 | \ \nabla\cdot B &=& 0 1926 | \ \end{array} 1927 | $$ 1928 | 1929 |
1930 | 1931 | $$ 1932 | i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} \left(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2} \right) \psi + V \psi 1933 | $$ 1934 | 1935 | - **补充:** 1936 | - 需要详细教程的,可戳下方链接 1937 | - [Latex 详细教程](https://www.wolai.com/wolai/egjDbHiAfGfJmwR972fcEW) 1938 | 1939 |

1940 | 1941 | ## 17. Mermaid 1942 | 1943 | - 一些 **MD 编辑器** 和 **笔记软件** 支持通过 [**Mermaid**](https://mermaid-js.github.io/ "Mermaid官网") 及其所提供的 [编译器](https://mermaid-js.github.io/mermaid-live-editor "Mermaid在线编译器") 来为用户提供图表的绘制功能 1944 | 1945 | - 这里只提供一些演示的图表,具体教程可戳下方 1946 | - [[MOC Mermiad 教程 Obsidian版| Mermiad 超级教程 Obsidian版]] 1947 | 1948 |
1949 | 1950 | ### 17.1 流程图 1951 | 1952 |
1953 | 1954 | **源码 1:** 1955 | 1956 | ````txt 1957 | ```mermaid 1958 | graph TB 1959 | %% s=start e=end f=fork n=normal 1960 | 1961 | s([开始])-->f1{{if条件}}; 1962 | 1963 | %% 分支点2 1964 | f1--true-->n1[if语句块]-->e([结束]); 1965 | f1--false-->f2{{else if条件}}; 1966 | 1967 | %% 分支点1 1968 | f2--true-->n2[else if语句块]-->e; 1969 | f2--false-->n3[else语句块]-->e; 1970 | ``` 1971 | ```` 1972 | 1973 | **渲染 1:** 1974 | 1975 | ```mermaid 1976 | graph TB 1977 | %% s=start e=end f=fork n=normal 1978 | 1979 | s([开始])-->f1{{if条件}}; 1980 | 1981 | %% 分支点1 1982 | f1--true-->n1[if语句块]-->e([结束]); 1983 | f1--false-->f2{{else if条件}}; 1984 | 1985 | %% 分支点2 1986 | f2--true-->n2[else if语句块]-->e; 1987 | f2--false-->n3[else语句块]-->e; 1988 | ``` 1989 | 1990 |
1991 | 1992 | **源码 2:** 1993 | 1994 | ````txt 1995 | ```mermaid 1996 | graph LR 1997 | %% s=start e=end f= fork n=normal 1998 | 1999 | %% 虚线 2000 | s[朱百六]-.->|子|n1[朱四九]-.->|子|n2[朱五四]-.->|子|f1_帝((朱八八)) 2001 | 2002 | %% 分支点 朱八八 2003 | f1_帝-->|长子|f2[朱标] 2004 | f1_帝-->|次子|n3[朱樉] 2005 | f1_帝-->|三子|n4[朱棢] 2006 | f1_帝-->|四子|n5_帝((朱棣)) 2007 | 2008 | %% 分支点 朱标 2009 | f2-->|长子|e1[朱雄英] 2010 | f2-->|次子|e2_帝((朱允炆)) 2011 | 2012 | n5_帝-->|长子|e3[朱高炽] 2013 | ``` 2014 | ```` 2015 | 2016 | **渲染 2:** 2017 | 2018 | ```mermaid 2019 | graph LR 2020 | %% s=start e=end f= fork n=normal 2021 | 2022 | %% 虚线 2023 | s[朱百六]-.->|子|n1[朱四九]-.->|子|n2[朱五四]-.->|子|f1_帝((朱八八)) 2024 | 2025 | %% 分支点 朱八八 2026 | f1_帝-->|长子|f2[朱标] 2027 | f1_帝-->|次子|n3[朱樉] 2028 | f1_帝-->|三子|n4[朱棢] 2029 | f1_帝-->|四子|n5_帝((朱棣)) 2030 | 2031 | %% 分支点 朱标 2032 | f2-->|长子|e1[朱雄英] 2033 | f2-->|次子|e2_帝((朱允炆)) 2034 | 2035 | n5_帝-->|长子|e3[朱高炽] 2036 | ``` 2037 | 2038 |
2039 | 2040 | ### 17.2 饼图 2041 | 2042 |
2043 | 2044 | **源码:** 2045 | 2046 | ````md 2047 | ```mermaid 2048 | pie 2049 | title 为什么总是宅在家里? 2050 | "喜欢宅" : 45 2051 | "天气太热" : 70 2052 | "穷" : 500 2053 | "关你屁事" : 95 2054 | ``` 2055 | ```` 2056 | 2057 | **渲染:** 2058 | 2059 | ```mermaid 2060 | pie 2061 | title 为什么总是宅在家里? 2062 | "喜欢宅" : 45 2063 | "天气太热" : 70 2064 | "穷" : 500 2065 | "关你屁事" : 95 2066 | ``` 2067 | 2068 |
2069 | 2070 | ### 17.3 序列图 (时序图) 2071 | 2072 |
2073 | 2074 | **源码:** 2075 | 2076 | ````txt 2077 | ```mermaid 2078 | sequenceDiagram 2079 | %% 自动编号 2080 | autonumber 2081 | %% 定义参与者并取别名,aliases:别名 2082 | participant A as Aly 2083 | participant B as Bob 2084 | participant C as CofCai 2085 | %% 便签说明 2086 | Note left of A: 只复习了一部分 2087 | Note right of B: 没复习 2088 | Note over A,B: are contacting 2089 | 2090 | A->>B: 明天是要考试吗? 2091 | B-->>A: 好像是的! 2092 | 2093 | %% 显示并行发生的动作,parallel:平行 2094 | %% par [action1] 2095 | rect rgb(0, 25, 155) 2096 | par askA 2097 | C -->> A:你复习好了吗? 2098 | and askB 2099 | C -->> B:你复习好了吗? 2100 | and self 2101 | C ->>C:我还没准备复习...... 2102 | end 2103 | end 2104 | 2105 | %% 背景高亮,提供一个有颜色的背景矩形 2106 | rect rgb(25, 55, 0) 2107 | loop 自问/Every min 2108 | %%
可以换行 2109 | C ->> C:我什么时候
开始复习呢? 2110 | end 2111 | end 2112 | 2113 | %% 可选择路径 2114 | rect rgb(153, 83, 60) 2115 | alt is good 2116 | A ->> C:复习了一点 2117 | else is common 2118 | B ->> C:我也是 2119 | end 2120 | %% 没有else时可以提供默认的opt 2121 | opt Extra response 2122 | C ->> C:你们怎么不回答我 2123 | end 2124 | endsequenceDiagram 2125 | %% 自动编号 2126 | autonumber 2127 | %% 定义参与者并取别名,aliases:别名 2128 | participant A as Aly 2129 | participant B as Bob 2130 | participant C as CofCai 2131 | %% 便签说明 2132 | Note left of A: 只复习了一部分 2133 | Note right of B: 没复习 2134 | Note over A,B: are contacting 2135 | 2136 | A->>B: 明天是要考试吗? 2137 | B-->>A: 好像是的! 2138 | 2139 | %% 显示并行发生的动作,parallel:平行 2140 | %% par [action1] 2141 | rect rgb(0, 25, 155) 2142 | par askA 2143 | C -->> A:你复习好了吗? 2144 | and askB 2145 | C -->> B:你复习好了吗? 2146 | and self 2147 | C ->>C:我还没准备复习...... 2148 | end 2149 | end 2150 | 2151 | %% 背景高亮,提供一个有颜色的背景矩形 2152 | rect rgb(25, 55, 0) 2153 | loop 自问/Every min 2154 | %%
可以换行 2155 | C ->> C:我什么时候
开始复习呢? 2156 | end 2157 | end 2158 | 2159 | %% 可选择路径 2160 | rect rgb(153, 83, 60) 2161 | alt is good 2162 | A ->> C:复习了一点 2163 | else is common 2164 | B ->> C:我也是 2165 | end 2166 | %% 没有else时可以提供默认的opt 2167 | opt Extra response 2168 | C ->> C:你们怎么不回答我 2169 | end 2170 | end 2171 | ``` 2172 | ```` 2173 | 2174 | **渲染:** 2175 | 2176 | ```mermaid 2177 | sequenceDiagram 2178 | %% 自动编号 2179 | autonumber 2180 | %% 定义参与者并取别名,aliases:别名 2181 | participant A as Aly 2182 | participant B as Bob 2183 | participant C as CofCai 2184 | %% 便签说明 2185 | Note left of A: 只复习了一部分 2186 | Note right of B: 没复习 2187 | Note over A,B: are contacting 2188 | 2189 | A->>B: 明天是要考试吗? 2190 | B-->>A: 好像是的! 2191 | 2192 | %% 显示并行发生的动作,parallel:平行 2193 | %% par [action1] 2194 | rect rgb(0, 25, 155) 2195 | par askA 2196 | C -->> A:你复习好了吗? 2197 | and askB 2198 | C -->> B:你复习好了吗? 2199 | and self 2200 | C ->>C:我还没准备复习...... 2201 | end 2202 | end 2203 | 2204 | %% 背景高亮,提供一个有颜色的背景矩形 2205 | rect rgb(25, 55, 0) 2206 | loop 自问/Every min 2207 | %%
可以换行 2208 | C ->> C:我什么时候
开始复习呢? 2209 | end 2210 | end 2211 | 2212 | %% 可选择路径 2213 | rect rgb(153, 83, 60) 2214 | alt is good 2215 | A ->> C:复习了一点 2216 | else is common 2217 | B ->> C:我也是 2218 | end 2219 | %% 没有else时可以提供默认的opt 2220 | opt Extra response 2221 | C ->> C:你们怎么不回答我 2222 | end 2223 | end 2224 | ``` 2225 | 2226 |
2227 | 2228 | ### 17.4 甘特图 2229 | 2230 |
2231 | 2232 | **源码:** 2233 | 2234 | ````txt 2235 | ```mermaid 2236 | gantt 2237 | title A Gantt Diagram 2238 | dateFormat YYYY-MM-DD 2239 | section Section 2240 | A task :a1, 2014-01-01, 30d 2241 | Another task :after a1 , 20d 2242 | section Another 2243 | Task in sec :2014-01-12 , 12d 2244 | another task : 24d 2245 | ``` 2246 | ```` 2247 | 2248 | **渲染:** 2249 | 2250 | ```mermaid 2251 | gantt 2252 | title A Gantt Diagram 2253 | dateFormat YYYY-MM-DD 2254 | section Section 2255 | A task :a1, 2014-01-01, 30d 2256 | Another task :after a1 , 20d 2257 | section Another 2258 | Task in sec :2014-01-12 , 12d 2259 | another task : 24d 2260 | ``` 2261 | 2262 | ### 17.5 类图 2263 | 2264 |
2265 | 2266 | **源码:** 2267 | 2268 | ````md 2269 | ```mermaid 2270 | classDiagram 2271 | Animal <|-- Duck 2272 | Animal <|-- Fish 2273 | Animal <|-- Zebra 2274 | Animal : +int age 2275 | Animal : +String gender 2276 | Animal: +isMammal() 2277 | Animal: +mate() 2278 | class Duck{ 2279 | +String beakColor 2280 | +swim() 2281 | +quack() 2282 | } 2283 | class Fish{ 2284 | -int sizeInFeet 2285 | -canEat() 2286 | } 2287 | class Zebra{ 2288 | +bool is_wild 2289 | +run() 2290 | } 2291 | ``` 2292 | ```` 2293 | 2294 | **渲染:** 2295 | 2296 | ```mermaid 2297 | classDiagram 2298 | Animal <|-- Duck 2299 | Animal <|-- Fish 2300 | Animal <|-- Zebra 2301 | Animal : +int age 2302 | Animal : +String gender 2303 | Animal: +isMammal() 2304 | Animal: +mate() 2305 | class Duck{ 2306 | +String beakColor 2307 | +swim() 2308 | +quack() 2309 | } 2310 | class Fish{ 2311 | -int sizeInFeet 2312 | -canEat() 2313 | } 2314 | class Zebra{ 2315 | +bool is_wild 2316 | +run() 2317 | } 2318 | ``` 2319 | 2320 |

2321 | 2322 | ## 18. 标签 (Tag) 2323 | 2324 | - 标签是 **Obsidian** 特有的一个功能,标签可以通过点击唤起快速搜索 (搜索包含该标签的所有笔记) 2325 | 2326 | **格式:** 2327 | 2328 | - **\#** + **标签名** 2329 | - `#标签名` 2330 | 2331 | ### 关于空格 2332 | 2333 | - 在一段正文文本的后面添加 Tag, **\#** 的**前面** 需要有个空格 2334 | - **空格** + **\#** + 标签名 2335 | 2336 |
2337 | 2338 | - \# 与 标签名 **之间**,**不能**有空格,否则就变成 一级标题 了 2339 | 2340 |
2341 | 2342 | - 标签名的**内部**,**不允许**使用空格,若想区分标签中的词语,可使用以下**三种**方法: 2343 | 1. 驼峰式大小写: `#BlueTopaz` 2344 | 2. 下划线: `#blue_topaz` 2345 | 3. 连字符: `#blue-topaz` 2346 | 2347 |
2348 | 2349 | ### 关于数字 2350 | 2351 | - 标签内允许使用数字,但不能完全由数字组成 2352 | - `#1984` ❌ 2353 | - `#1984Date` ⭕ 2354 | - `#da_1984_te` ⭕ 2355 | - `#date-1984` ⭕ 2356 | 2357 |
2358 | 2359 | ### 标签的嵌套 2360 | 2361 | 在标签名内,使用 `/` 斜杠 可以实现标签的嵌套 2362 | 2363 | **格式:** 2364 | 2365 | - `#主标签/子标签1` 2366 | - `#主标签/子标签2` 2367 | - `#主标签/子标签3` 2368 | 2369 | 嵌套标签可以像普通标签一样通过点击来唤起搜索,嵌套标签允许你选择搜索的层次。**例如:** 2370 | 2371 | - 搜索 `#主标签` ,即可找到包含任意一个子标签的所有笔记 2372 | - 返回的结果会是上述的三个例子 2373 | - 当你在一个主分类下设置了多个子分类,想找到这个主分类包含的所有内容时,该功能会很实用 2374 | 2375 |
2376 | 2377 | ### 能被使用的符号 2378 | 2379 | 综上所述,标签内能被使用的符号共有三种 2380 | 2381 | 1. `_` 下划线 2382 | 2. `-` 连字符 2383 | 3. `/` 斜杠 2384 | 2385 |
2386 | 2387 | ### 如何让 \# 不被识别 2388 | 2389 | 可以使用前面提到的转义符号 `\` 反斜杠,与上述的 转义标题 类似 2390 | 2391 | **格式:** 2392 | 2393 | `\#这里的内容不会被识别为标签` 2394 | 2395 | **效果:** 2396 | 2397 | \#这里的内容不会被识别为标签 2398 | 2399 |
2400 | 2401 | ## 19. 避免标识符的滥用 2402 | 2403 | 即使在 **Markdown** 中,也要尽量**避免**标识符的滥用 2404 | 2405 | 比如我的这篇教程,就存在一定程度的滥用 2406 | 2407 | - 其实是因为我这篇是教学性质的,不太一样,有些不能避免 2408 | - **(好吧,我就是在甩锅)** 2409 | 2410 | 标识符的本质是突出显示,代表**重点** 2411 | 2412 | - 一篇笔记里的某段文本,使用**各式各样的**的标识符,会造成**重点不清晰** 2413 | 2414 | 有**三种**标识,**慎用**! 2415 | 2416 | 1. 词中对**单个汉字**的标识 2417 | 1. 卧==虎==藏==龙== 2418 | 2. 短语中对**单个英语单词**的标识 2419 | 1. get a ==bang== out of 2420 | 3. 标识符的**多层嵌套** 2421 | 1. **我感觉快要==原地`起飞`==了** 2422 | 2423 | **原因:** 2424 | 2425 | - 词义的割裂 2426 | - 视觉的混乱 2427 | - 不利于搜索 2428 | - `卧==虎==藏==龙==` 2429 | - 搜 `卧虎` -- 搜不到 2430 | - 搜 `藏龙` -- 搜不到 2431 | 2432 | 2433 | 2434 | [度娘]: http://www.baidu.com 2435 | [知乎]: https://www.zhihu.com 2436 | 2437 | [^1]: 周树人 2438 | [^2]: 绍兴人 2439 | --------------------------------------------------------------------------------