├── .gitignore ├── README.md ├── deploy.sh ├── deploy_gitee.sh ├── docs ├── .vuepress │ ├── config.js │ ├── config │ │ ├── nav.js │ │ ├── plugins │ │ │ └── index.js │ │ ├── sidebar.js │ │ └── theme │ │ │ ├── index.js │ │ │ └── themeReco.js │ ├── enhanceApp.js │ ├── public │ │ ├── assets │ │ │ └── js │ │ │ │ └── baidu.js │ │ ├── avatar.png │ │ ├── css │ │ │ └── style.css │ │ ├── hero_white.png │ │ ├── img │ │ │ ├── 5.jpg │ │ │ ├── favicon.ico │ │ │ ├── kbjw2.jpg │ │ │ ├── logo.png │ │ │ ├── sidebar_280140.png │ │ │ ├── sidebar_2801401.png │ │ │ └── sidebar_28014022.png │ │ ├── js │ │ │ └── custom.js │ │ ├── manifest.json │ │ └── view.png │ └── styles │ │ └── palette.styl ├── README.md ├── guide │ └── README.md ├── timeline │ └── README.md ├── 技术文章 │ ├── README.md │ ├── java │ │ ├── javase.assets │ │ │ ├── 1653118922924.png │ │ │ └── 1653119053628.png │ │ └── javase.md │ ├── java高级 │ │ └── javaee.md │ └── vue │ │ └── vue01.md └── 生活分享 │ └── life.md ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | gb-pages/ 9 | docs/.vuepress/dist/ 10 | .vscode/ 11 | .temp/ 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | 38 | # Dependency directories 39 | node_modules/ 40 | jspm_packages/ 41 | 42 | # TypeScript v1 declaration files 43 | typings/ 44 | 45 | # Optional npm cache directory 46 | .npm 47 | 48 | # Yarn Integrity file 49 | .yarn-integrity 50 | 51 | # parcel-bundler cache (https://parceljs.org/) 52 | .cache 53 | 54 | # next.js build output 55 | .next 56 | 57 | # nuxt.js build output 58 | .nuxt 59 | 60 | # vuepress build output 61 | .vuepress/dist 62 | 63 | # Serverless directories 64 | .serverless/ 65 | 66 | # FuseBox cache 67 | .fusebox/ 68 | 69 | # DynamoDB Local files 70 | .dynamodb/ 71 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # `Vuepress`博客源码 2 | 3 | > 配套视频地址:https://www.bilibili.com/video/BV17t41177cr 4 | > 5 | > github预览地址:https://it235.github.io/ 6 | > 7 | > gitee预览地址:https://it235.gitee.io/ 8 | 9 | > 君哥博客地址:https://www.it235.com/ 10 | 11 | 12 | 13 | **白嫖有罪,如有帮助,点赞收藏!** 14 | 15 | 16 | 17 | ### 运行 18 | 19 | ``` 20 | # 打开cmd 全局安装yarn 21 | $ npm i -g yarn 22 | 23 | # 设置yarn淘宝源,使用npm的同学,也是可以设置淘宝源 24 | $ yarn config set registry https://registry.npm.taobao.org 25 | 26 | $ git clone https://github.com/it235/it235-vuepress.git 27 | 28 | # 打开CMD命令行窗口 29 | $ cd it235-vuepress 30 | 31 | # 安装vuepress 32 | $ yarn add -D vuepress 或 npm install -g vuepress 33 | 34 | $ yarn docs:dev 或 npm run docs:dev 35 | ``` 36 | 37 | ### 预览 38 | 39 | ![1563786698861](./docs/.vuepress/public/view.png) -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/it235/it235-vuepress/fccc6f8cb33dbe5904a8fcea3096636af461d1c5/deploy.sh -------------------------------------------------------------------------------- /deploy_gitee.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/it235/it235-vuepress/fccc6f8cb33dbe5904a8fcea3096636af461d1c5/deploy_gitee.sh -------------------------------------------------------------------------------- /docs/.vuepress/config.js: -------------------------------------------------------------------------------- 1 | const themeConfig = require('./config/theme/index.js') 2 | const navConf = require('./config/nav') 3 | const sidebarConf = require('./config/sidebar') 4 | const pluginsConf = require('./config/plugins/index') 5 | module.exports = { 6 | //注意,此处需要填写你部署在nginx下的文件夹名称,如果是根目录,那么可以注释掉此行,注释掉后本地打开index.html无法访问 7 | //base: "/dist/", 8 | title: "君哥聊编程", 9 | description: '点赞、转发、收藏', 10 | dest: './dist', 11 | port: '7777', 12 | head: [ 13 | ['link', { rel: 'icon', href: '/img/favicon.ico' }], 14 | ['meta', { name: 'keywords', content: '君哥聊编程,vuepress,自建博客,君哥' }], 15 | ['meta', { name: 'description', content: '专属于自学者的在线学习平台,这里有编程领域最完善最「体系化的」Java学习视频、如果你是小白快加入我们一起学最全最「体系化的」java知识吧,官方交流QQ群:827553720' }], 16 | ['meta', { name: 'viewport', content: 'width=device-width,initial-scale=1,user-scalable=no' }], 17 | ["meta", {name: "robots", content: "all"}], 18 | ["meta", {name: "author", content: "君哥"}], 19 | ["link", { rel: "stylesheet", href: "/css/style.css" }],//显示nav小logo 20 | ["script", { charset: "utf-8", src: "/js/custom.js" }],//加载右侧菜单栏图片 21 | // 百度统计 22 | /* 23 | ['script', {}, ` 24 | var _hmt = _hmt || []; 25 | (function() { 26 | var hm = document.createElement("script"); 27 | hm.src = "https://hm.baidu.com/hm.js?e312f85a409131e18146064e62b19798"; 28 | var s = document.getElementsByTagName("script")[0]; 29 | s.parentNode.insertBefore(hm, s); 30 | })(); 31 | `], 32 | */ 33 | ], 34 | theme: 'reco', 35 | themeConfig: { 36 | type: 'blog', 37 | smoothScroll: true, 38 | // 博客设置 39 | /* 40 | blogConfig: { 41 | category: { 42 | location: 2, // 在导航栏菜单中所占的位置,默认2 43 | text: '分类' // 默认 “分类” 44 | }, 45 | tag: { 46 | location: 3, // 在导航栏菜单中所占的位置,默认3 47 | text: '标签' // 默认 “标签” 48 | } 49 | },*/ 50 | /* 51 | valineConfig: { 52 | // your appId 53 | appId: 'AwhnPnTxxzGzoHsz', 54 | // your appKey 55 | appKey: '0M6f1PazzzalVIukU', 56 | recordIP:true, 57 | placeholder:'来都来了,冒个泡再走呗...', 58 | visitor:true, 59 | }, 60 | */ 61 | authorAvatar: '/avatar.png', 62 | // 最后更新时间 63 | lastUpdated: '2021-04-07', // string | boolean 64 | //repo: 'it235', 65 | // 如果你的文档不在仓库的根部 66 | //docsDir: 'docs', 67 | // 可选,默认为 master 68 | //docsBranch: 'source', 69 | //editLinks: true, 70 | //editLinkText: '在 GitHub 上编辑此页!', 71 | // 作者 72 | author: '君哥', 73 | // 项目开始时间 74 | startYear: '2022', 75 | nav: navConf, 76 | sidebar: sidebarConf, 77 | sidebarDepth: 2, 78 | // 自动形成侧边导航 79 | sidebar: 'auto', 80 | // logo: '/head.png', 81 | // 搜索设置 82 | search: true, 83 | searchMaxSuggestions: 10, 84 | // ICP备案 85 | record: '沪ICP备xxxxx号-6', 86 | recordLink: 'https://beian.miit.gov.cn/', 87 | // 公网安备备案 88 | cyberSecurityRecord: '沪公网安备 xxxxxxx号', 89 | cyberSecurityLink: 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=xxx05177', 90 | //友链 91 | friendLink: [ 92 | { 93 | title: '君哥聊编程', 94 | desc: 'Enjoy when you can, and endure when you must.', 95 | email: 'xxx@qq.com', 96 | link: 'https://www.it235.com' 97 | }, 98 | { 99 | title: '君哥的课堂', 100 | desc: '君哥的课堂', 101 | avatar: "https://vuepress-theme-reco.recoluan.com/icon_vuepress_reco.png", 102 | link: 'https://how.ke.qq.com/' 103 | }, 104 | ] 105 | }, 106 | markdown: { 107 | lineNumbers: true 108 | }, 109 | plugins: pluginsConf 110 | } -------------------------------------------------------------------------------- /docs/.vuepress/config/nav.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | text: '本站指南', link: '/guide/', icon: 'reco-eye' 4 | }, 5 | { 6 | text: '技术分享', link: '/技术文章/', icon: 'reco-api', 7 | items: [ 8 | { 9 | text: 'Java', 10 | items: [ 11 | {text: 'JavaSE', link: '/技术文章/java/javase'}, 12 | {text: 'JavaEE', link: '/技术文章/java高级/javaee'}, 13 | ] 14 | }, 15 | { 16 | text: '前端', 17 | items: [ 18 | {text: '前端基础', link: '/技术文章/vue/vue01'}, 19 | ] 20 | }, 21 | ] 22 | }, 23 | { 24 | text: '生活分享', link: '/生活分享/', icon: 'reco-faq', 25 | items: [ 26 | {text: '生活分享', link: '/生活分享/life'}, 27 | ] 28 | }, 29 | { 30 | text: '博客', icon: 'reco-blog', 31 | items: [ 32 | {text: '腾讯', link: 'https://how.ke.qq.com/', icon: 'reco-blog'}, 33 | {text: 'B站', link: 'https://space.bilibili.com/394702492', icon: 'reco-bilibili'}, 34 | {text: '君哥', link: 'https://www.it235.com/', icon: 'reco-blog'}, 35 | ] 36 | },/**/ 37 | { text: '时间轴', link: '/timeline/', icon: 'reco-date' } 38 | ] -------------------------------------------------------------------------------- /docs/.vuepress/config/plugins/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'flowchart': { 3 | 4 | }, 5 | '@vuepress/pwa': { 6 | serviceWorker: true, 7 | updatePopup: { 8 | message: "有新的内容更新", 9 | buttonText: "刷新" 10 | } 11 | }, 12 | "vuepress-plugin-auto-sidebar": { 13 | // collapsable: true, 14 | // titleMode: "titlecase", 15 | }, 16 | "vuepress-plugin-baidu-autopush":{ 17 | 18 | }, 19 | 'sitemap': { 20 | hostname: 'https://www.xxx.com' 21 | }, 22 | 'copyright': { 23 | noCopy: true, // 选中的文字将无法被复制 24 | minLength: 100, // 如果长度超过 100 个字符 25 | }, 26 | '@vuepress/medium-zoom': { 27 | selector: 'img', 28 | // medium-zoom options here 29 | // See: https://github.com/francoischalifour/medium-zoom#options 30 | options: { 31 | margin: 16 32 | } 33 | }, 34 | "dynamic-title":{ 35 | showIcon: "/favicon.ico", 36 | showText: "(/≧▽≦/)欢迎回来!", 37 | hideIcon: "/favicon.ico", 38 | hideText: "(●—●)哦吼,不要走,给个收藏吧!", 39 | recoverTime: 2000 40 | }, 41 | '@vuepress/nprogress':{ 42 | 43 | }, 44 | 'vuepress-plugin-smooth-scroll':{ 45 | 46 | }, 47 | '@vuepress-reco/vuepress-plugin-rss':{ 48 | site_url: "https://it235.com", //网站地址 49 | copyright: "君哥聊编程", //版权署名 50 | }, 51 | 'reading-progress':{ 52 | //阅读进度条 53 | }, 54 | 'vuepress-plugin-code-copy':{ 55 | //一键复制代码 56 | }, 57 | '@vuepress-reco/vuepress-plugin-bgm-player':{ 58 | autoShrink: { 59 | type: true 60 | }, 61 | audios: [ 62 | { 63 | name: "大城小事", 64 | artist: "杨千嬅", 65 | url: 66 | "https://music.163.com/song/media/outer/url?id=316756.mp3", 67 | cover: 68 | "https://p2.music.126.net/qOOTIykbSLw9RHB0vI83GA==/737772302281958.jpg", 69 | }, 70 | { 71 | name: "不再犹豫", 72 | artist: "Beyond", 73 | url: 74 | "https://music.163.com/song/media/outer/url?id=346084.mp3", 75 | cover: 76 | "https://p1.music.126.net/Gxv6d9W4Yd9q9WNHPpi8rw==/1379887104073348.jpg", 77 | }, 78 | { 79 | name: "相思风雨中", 80 | artist: "张学友 / 汤宝如", 81 | url: 82 | "https://music.163.com/song/media/outer/url?id=188555.mp3", 83 | cover: 84 | "https://p2.music.126.net/IPnqMCk8YaN9inwYV2bdgQ==/18774161044446693.jpg", 85 | }, 86 | { 87 | name: "月半小夜曲", 88 | artist: "李克勤", 89 | url: 90 | "https://music.163.com/song/media/outer/url?id=115162.mp3", 91 | cover: 92 | "https://p2.music.126.net/2oouVh_rHOv1nZXYapF41A==/109951163606358209.jpg", 93 | }, 94 | { 95 | name: "野孩子", 96 | artist: "杨千嬅", 97 | url: 98 | "https://music.163.com/song/media/outer/url?id=316486.mp3", 99 | cover: 100 | "https://p2.music.126.net/4TnTRyHqa3-D2H1UnOa00w==/109951163666994621.jpg", 101 | }, 102 | { 103 | name: "她的背影", 104 | artist: "王杰", 105 | url: "https://music.163.com/song/media/outer/url?id=26026460.mp3", 106 | cover: 107 | "https://p1.music.126.net/LjXufn3OaIgf8OwaEP_xcQ==/109951164419438501.jpg", 108 | }, 109 | { 110 | name: "讲不出再见", 111 | artist: "谭咏麟", 112 | url: 113 | "https://music.163.com/song/media/outer/url?id=152392.mp3", 114 | cover: 115 | "https://p2.music.126.net/LmjTrSwvSLSNBsfFsQFO6g==/2533274793491743.jpg", 116 | }, 117 | { 118 | name: "一生中最爱", 119 | artist: "谭咏麟", 120 | url: 121 | "https://music.163.com/song/media/outer/url?id=153784.mp3", 122 | cover: 123 | "https://p1.music.126.net/zjQROkEUokU7iS5eUvnVZQ==/3264450027161111.jpg", 124 | }, 125 | { 126 | name: "丑八怪", 127 | artist: "薛之谦", 128 | url: 129 | "https://music.163.com/song/media/outer/url?id=27808044.mp3", 130 | cover: 131 | "https://p2.music.126.net/VjN74c1hoYgPCEZ9DngeQw==/109951163772624643.jpg", 132 | }, 133 | ], 134 | }, 135 | "social-share": //分享插件 136 | { 137 | title : '234', 138 | description : '123', 139 | sites : ['qzone', 'qq', 'weibo','wechat', 'douban'], // 启用的站点 140 | networks: ['qzone',"qq", "weibo", "wechat", "douban", "email"], //分享类型 141 | email: "nobug@mail.com", //email地址 142 | wechatQrcodeTitle : '微信扫一扫:分享', // 微信二维码提示文字 143 | }, 144 | } -------------------------------------------------------------------------------- /docs/.vuepress/config/sidebar.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | /* 3 | '/guide/': require('../../guide/sidebar'), 4 | 5 | '/videoNote/javase': require('../../videoNote/javase/sidebar'), 6 | */ 7 | } -------------------------------------------------------------------------------- /docs/.vuepress/config/theme/index.js: -------------------------------------------------------------------------------- 1 | const themeReco = require('./themeReco.js') 2 | const nav = require('../nav.js') 3 | const sidebar = require('../sidebar.js') 4 | 5 | module.exports = Object.assign({}, themeReco, { 6 | nav, 7 | sidebar: sidebar, 8 | // logo: '/head.png', 9 | // 搜索设置 10 | search: true, 11 | searchMaxSuggestions: 10, 12 | // 自动形成侧边导航 13 | sidebar: 'auto', 14 | }) -------------------------------------------------------------------------------- /docs/.vuepress/config/theme/themeReco.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | type: 'blog', 3 | // 博客设置 4 | blogConfig: { 5 | category: { 6 | location: 2, // 在导航栏菜单中所占的位置,默认2 7 | // text: 'Category' // 默认 “分类” 8 | }, 9 | tag: { 10 | location: 3, // 在导航栏菜单中所占的位置,默认3 11 | // text: 'Tag' // 默认 “标签” 12 | } 13 | }, 14 | authorAvatar: '/avatar.png', 15 | // 最后更新时间 16 | lastUpdated: '上次更新时间', // string | boolean 17 | // 作者 18 | author: '君哥', 19 | // 项目开始时间 20 | startYear: '2022' 21 | } -------------------------------------------------------------------------------- /docs/.vuepress/enhanceApp.js: -------------------------------------------------------------------------------- 1 | export default ({router}) => { 2 | router.beforeEach((to, from, next) => { 3 | // @pdai: 对每个页面点击添加百度统计 4 | if(typeof _hmt!='undefined'){ 5 | if (to.path) { 6 | _hmt.push(['_trackPageview', to.fullPath]); 7 | } 8 | } 9 | 10 | // continue 11 | next(); 12 | }) 13 | }; -------------------------------------------------------------------------------- /docs/.vuepress/public/assets/js/baidu.js: -------------------------------------------------------------------------------- 1 | //百度统计 2 | var _hmt = _hmt || []; 3 | (function() { 4 | var hm = document.createElement("script"); 5 | hm.src = "https://hm.baidu.com/hm.js?xxxxx59e735ff8670c03"; 6 | var s = document.getElementsByTagName("script")[0]; 7 | s.parentNode.insertBefore(hm, s); 8 | })(); 9 | 10 | //百度站长自动推送 11 | (function(){ 12 | var bp = document.createElement('script'); 13 | var curProtocol = window.location.protocol.split(':')[0]; 14 | if (curProtocol === 'https') { 15 | bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; 16 | } 17 | else { 18 | bp.src = 'http://push.zhanzhang.baidu.com/push.js'; 19 | } 20 | var s = document.getElementsByTagName("script")[0]; 21 | s.parentNode.insertBefore(bp, s); 22 | })(); 23 | 24 | //360 25 | (function(){ 26 | var src = "https://jspassport.ssl.qhimg.com/11.0.1.js?xxxx83acfaaf6e696dba"; 27 | document.write('