const path = require('path') module.exports = { base: '/', locales: { '/': { lang: 'zh-CN' } }, configureWebpack: { resolve: { alias: { '@': path.join(__dirname, '..', '..', 'docs') } } }, title: 'AngesZhuの窝窝', description: '做一些沉淀、记录和分享,留给有需要的人', // dest: 'public', head: [ ['link', { rel: 'icon', href: '/favicon.ico' }], ['meta', { name: 'viewport', content: 'width=device-width,initial-scale=1,user-scalable=no' }], ['script', {}, ` var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?xxxxxxxxxxxxxxxx"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();`] ], markdown: { lineNumbers: true, }, themeConfig: { mode: 'light', // 默认 auto,auto 跟随系统,dark 暗色模式,light 亮色模式 modePicker: true, // 默认 true,false 不显示模式调节按钮,true 则显示 nav: [ {text: '主页', link: '/', icon: 'reco-home'}, {text: '技术相关', icon: 'reco-api', items:[ {text:'基础 | Python', link: '/code/python'}, {text:'进阶 | Python', link: '/code/highPython'}, {text:'框架 | Hint api', link: '/code/hintapi'}, {text:'框架 | Fast api', link: '/code/fastapi'}, // {text:'框架 | Indexpy', link: '/code/indexpy'}, // {text:'插件 | DjangoSimpleAPI', link: '/code/DjangoSimpleAPI'}, {text:'框架 | Django', link: '/code/django'}, {text:'基础 | Vue', link: '/code/vue'}, {text:'基础 | 前端基础', link: '/code/html'}, {text:'基础 | Java', link: '/code/java'}, {text:'基础 | Kotlin', link: '/code/kotlin'}, {text:'基础 | Linux', link: '/code/linux'} ]}, {text: '测试相关', icon: 'reco-coding', items:[ {text:'功能测试', link: '/auto/func'}, {text:'接口测试', link: '/auto/api'}, {text:'App测试', link: '/auto/app'}, {text:'Web测试', link: '/auto/web'}, {text:'测试开发', link: '/testdev'} ]}, // {text: '测试开发', link: '/testdev', icon: 'reco-three'}, {text: '质量相关', icon: 'reco-blog', items:[ {text:'研发流程与规范', link: '/quality/dev-flow'}, {text:'缺陷等级标准', link: '/quality/defect-grade'}, {text:'缺陷的生命周期', link: '/quality/bug-flow'}, ]}, {text: '其他', icon: 'reco-other', items:[ {text:'Nacos', link: '/middleware/nacos'}, {text:'Charles', link: '/other/tools/Charles'}, {text:'Fiddler', link: '/other/tools/fiddler'}, {text:'Chrome', link: '/other/tools/chrome-tools'}, {text:'正则表达式', link: '/other/re-base'}, {text:'使用Eclipse搭建Python开发环境', link: '/other/tools/eclipse'}, {text:'Markdown基本语法', link: '/other/md-edit'}, {text:'Hexo博客搭建', link: '/other/build-blog'} ]}, // { text: '回顾', link: '/review', icon: 'reco-tag' }, { text: '关于', link: '/about', icon: 'reco-account' }, ], type: 'blog', blogConfig: { // category: { // location: 2, // 在导航栏菜单中所占的位置,默认2 // text: '分类' // 默认 “分类” // }, tag: { location: 2, // 在导航栏菜单中所占的位置,默认3 text: '标签' // 默认 “标签” }, socialLinks: [ { icon: 'reco-github', link: 'https://github.com/AngesZhu' }, { icon: 'reco-gitlab', link: 'http://gitea.angeszhu.cn/' }, { icon: 'reco-wechat', link: 'https://limeng-blog.oss-cn-hangzhou.aliyuncs.com/WX20220107-175904.png' }, { icon: 'reco-bilibili', link: 'https://space.bilibili.com/2379690' }, ] }, valineConfig: { appId: 'NWL53SYiGO5DTWB8dYSaP4OT-gzGzoHsz',// your appId appKey: 'fYakVEi4qRJBEuUL4GRmiTMQ', // your appKey }, isShowComments: true, logo: '/logo.png', authorAvatar: '/logo.png', search: true, searchMaxSuggestions: 10, subSidebar: 'auto', sidebar: { '/auto/api': [ { title: '接口测试', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/auto/api/api-test', '/auto/api/http-status', '/auto/api/restful-info', ] }, ], '/auto/app': [ { title: 'APP测试', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/auto/app/app-test', '/auto/app/process', ] }, ], '/auto/func': [ { title: '功能测试', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/auto/func/qa', '/auto/func/demand-analysis', '/auto/func/case-design', ] }, ], '/auto/web': [ { title: '功能测试', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/auto/web/web-test', ] }, ], '/code/html': [ { title: 'HTML 基础', // 必要的 collapsable: true, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/html/html5-base', '/code/html/html5-label', '/code/html/html5-often', '/code/html/html5-layout', '/code/html/html5-property', '/code/html/html5-event', ] }, { title: 'CSS 基础', // 必要的 collapsable: true, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/html/css-info', '/code/html/css-import', '/code/html/css-choice-1', '/code/html/css-attribute-primary', '/code/html/css-layout', ] }, { title: 'HTML&CSS 进阶', // 必要的 collapsable: true, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/html/path', '/code/html/html-list', '/code/html/css-choice-2', '/code/html/css-attribute-promote', '/code/html/css-box', '/code/html/css-box-quick', '/code/html/html-form', '/code/html/block-element', '/code/html/inline-element', '/code/html/display', '/code/html/css-float', '/code/html/css-location', '/code/html/css-background', '/code/html/css-weight', '/code/html/html-table', ] }, ], '/code/python': [ { title: 'Python 基础', // 必要的 collapsable: true, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/python/install', '/code/python/version', '/code/python/base', '/code/python/base-fuc', '/code/python/cmd', '/code/python/code', '/code/python/number', '/code/python/num-func', '/code/python/string', '/code/python/string-func', '/code/python/list', '/code/python/tuple', '/code/python/dict', '/code/python/set', '/code/python/data-conversion', '/code/python/if', '/code/python/loop', '/code/python/func', '/code/python/kebiancanshu', '/code/python/lambda', '/code/python/import', '/code/python/io', '/code/python/error', '/code/python/class', '/code/python/inherit', '/code/python/private-variable', '/code/python/range', ] }, ], '/code/highPython': [ { title: 'Python 进阶阶', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/highPython/nacos', ] }, ], '/code/hintapi': [ { title: 'Hintapi 框架', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/hintapi/base', ] }, ], '/code/fastapi': [ { title: 'FastApi 基础篇', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/fastapi/begin', ] }, ], '/code/vue': [ { title: 'Vue 相关', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/vue/env', ] }, ], '/code/django': [ { title: 'Django 相关', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/django/info', '/code/django/create', '/code/django/admin', '/code/django/setting', '/code/django/urls', ] }, ], '/code/java': [ { title: 'Java 语言', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/java/java-basics', '/code/java/java-keyword' ] }, ], '/code/kotlin': [ { title: 'Kotlin 语言', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/kotlin/kotlin-func', '/code/kotlin/kotlin-cloud', '/code/kotlin/okhttp-base', '/code/kotlin/okhttp-async' ] }, ], '/code/linux': [ { title: 'Linux', // 必要的 collapsable: false, // 可选的, 默认值是 true, sidebarDepth: 2, // 可选的, 默认值是 1 children: [ '/code/linux/linux-curl', '/code/linux/pyenv', ] }, ] }, sidebarDepth: 2, lastUpdated: '上次更新', author: 'AngesZhu', // 备案号 record: '沪ICP备20012553号', recordLink: 'https://beian.miit.gov.cn/', startYear: '2017', friendLink: [ { title: 'Aber', desc: '贫困人口,互联网工人。没事喜欢写点代码,酒精过敏,不喜抽烟。', logo: 'https://aber.sh/templates/static/image/portrait.jpg', link: 'https://aber.sh/' }, { title: '北漂的雷子', desc: '分享前进道路上的经验,分享个人观点', logo: 'https://img2018.cnblogs.com/blog/920110/201902/920110-20190212094558783-314664723.jpg', link: 'https://www.cnblogs.com/leiziV5' }, { title: 'Karl', desc: '一个年轻的瓜皮测试', logo: 'https://upload.jianshu.io/users/upload_avatars/23319359/9c18d38f-7147-4c20-80bf-8cc175d8568b?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240', link: 'https://www.jianshu.com/u/a6ea53bad813' }, { title: '上海悠悠', desc: '自动化测试大佬', logo: 'https://pic.cnblogs.com/avatar/1070438/20161126151035.png', link: 'https://www.cnblogs.com/yoyoketang/' }, ], }, plugins: [ // 更新刷新插件 ['@vuepress/pwa', { serviceWorker: true, updatePopup: { message: "发现新内容可用", buttonText: "刷新" } }], ["vuepress-plugin-nuggets-style-copy", { copyText: "copy", tip: { content: "复制成功!" } }], ['@vuepress/last-updated', { transformer: (timestamp, lang) => { return (new Date(timestamp)).toUTCString() //或者用下面这段 // const moment = require('moment') // moment.locale(lang) // return moment(timestamp).toLocaleString() } }], ['@vuepress-reco/vuepress-plugin-pagation', { perPage: 18 }], ] }