前言 前段时间,因为我的电脑硬盘损坏,所有的文件丢失,且我没有对Hexo博客的文件进行备份,只在五个月前copy了所有的markdown文件到云盘上。
查阅了网上的一些教程,觉得应该是没办法救回来了,于是打算重新在本地部署这个Hexo博客。
同时也写下这篇文章记录下这个过程,并为有需要的人提供一个参考。
准备 虽然本地的文件丢失了,但是GitHub上的仓库还是在的,所以我们这里跳过新建仓库的步骤
配置本地文件、Git以及安装Hexo本地程序的步骤,请参考之前的教程:Hexo 搭建个人博客:从开始到放弃
当你进行到这一步,访问 http://localhost:4000 ,能成功出现 Hexo 默认页面时,即可进入下一阶段。
安装主题 执行以下指令:
1 2 git clone -b master http://aciano.top/redirect/?target=https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly # 安装主题 npm install hexo-renderer-pug hexo-renderer-stylus --save # 安装依赖库
创建Page 执行以下指令:
1 2 3 4 5 6 7 8 9 10 11 hexo new page tags hexo new page categories hexo new page link hexo new page history hexo new page about hexo new page music hexo new page Demo hexo new page message hexo new page talking hexo new page Gallery hexo new page HTML
记得在tags
、categories
以及link
的md文件中的Page Front-matter
中添加type参数
安装插件 执行以下指令安装插件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 npm install hexo-generator-search --save # 本地搜索系统 npm install hexo-wordcount --save # 字数统计 npm install hexo-generator-feed --save # 生成RSS npm install hexo-abbrlink --save # 自定义文章链接 npm install --save hexo-tag-aplayer # 全局音乐 npm install hexo-butterfly-douban --save # 豆瓣页面 npm install --save hexo-blog-encrypt # 为文章添加密码 npm install hexo-deployer-git --save # 提交至Github npm install --save hexo-tag-bilibili # 播放B站视频 npm install hexo-butterfly-envelope --save # 留言板信笺样式 npm install hexo-butterfly-wowjs --save # 动画效果 npm install hexo-butterfly-artitalk # Artitalk说说界面 npm i hexo-offline-popup --save # 更新提示 npm i hexo-history-calendar --save # 侧边栏历史上的今天 npm i hexo-swiper-bar --save # 置顶文章轮播图 npm i hexo-butterfly-article-double-row --save # 首页双栏布局 npm i hexo-githubcalendar --save # Github上传记录 npm install hexo-butterfly-tag-plugins-plus --save # Tag外挂
以上为我自用的Hexo插件,仅供参考,有时间我会单独写一期推荐插件的文章。
更改配置文件
以下配置仅供个人记录,请勿照搬。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 deploy: type: git repository: git@github.com:Amnesia-f/amnesia-f.github.io.git branch: main feed: type: - atom - rss2 path: - atom.xml - rss2.xml limit: 20 abbrlink: alg: crc16 rep: hex drafts: false bilibili: width: 452 height: 544 aplayer: asset_inject: false meting: true search: path: search.xml field: post format: html content: true limit: 10000 butterfly_article_double_row: enable: false douban: user: 231261343 builtin: false movie: title: '电影' quote: '那些年我看过的电影' meta: true comments: true aside: true timeout: 10000 artitalk: enable: true appId: ******* appKey: ******* path: talking option: lang: zh pageSize: 10 swiper: enable: true priority: 1 enable_page: / layout: type: id name: recent-posts index: 0 temple_html: '<div class="recent-post-item" style="height: auto;width: 100%"><div class="blog-slider swiper-container-fade swiper-container-horizontal" id="swiper_container">${temple_html_item}</div></div>' plus_style: "" history_calendar: priority: 4 enable: true enable_page: / layout: type: class name: sticky_layout index: 0 temple_html: '<div class="card-widget card-history"><div class="card-content"><div class="item-headline"><i class="fas fa-clock fa-spin"></i><span>那年今日</span></div><div id="history-baidu" style="height: 100px;overflow: hidden"><div class="history_swiper-container" id="history-container" style="width: 100%;height: 100%"><div class="swiper-wrapper" id="history_container_wrapper" style="height:20px"></div></div></div></div>' encrypt: abstract: 有东西被加密了, 请输入密码查看. message: 请输入密码获取文章内容! envelope_comment: enable: true custom_pic: cover: https://cdn.bili33.top/npm/hexo-butterfly-envelope/lib/violet.jpg line: https://cdn.bili33.top/npm/hexo-butterfly-envelope/lib/line.png beforeimg: https://cdn.bili33.top/npm/hexo-butterfly-envelope/lib/before.png afterimg: https://cdn.bili33.top/npm/hexo-butterfly-envelope/lib/after.png message: - 有什么想问的? - 有什么想说的? - 有什么想吐槽的? - 哪怕是有什么想吃的,都可以告诉我哦~ bottom: 自动书记人偶竭诚为您服务! height: path: front_matter: title: 留言板 comments: true wowjs: enable: true priority: 10 mobile: false animateitem: - class: recent-post-item style: animate__zoomIn duration: 2s delay: 500ms offset: 80 iteration: 1 - class: card-widget style: animate__zoomIn animate_css: https://cdn.bili33.top/npm/hexo-butterfly-wowjs/lib/animate.min.css wow_js: https://cdn.bili33.top/npm/hexo-butterfly-wowjs/lib/wow.min.js wow_init_js: https://cdn.bili33.top/npm/hexo-butterfly-wowjs/lib/wow_init.js tag_plugins: enable: true priority: 5 issues: false link: placeholder: /img/link.png CDN: anima: https://cdn.bili33.top/npm/hexo-butterfly-tag-plugins-plus@latest/lib/assets/font-awesome-animation.min.css jquery: https://cdn.bili33.top/npm/jquery@latest/dist/jquery.min.js issues: https://cdn.bili33.top/npm/hexo-butterfly-tag-plugins-plus@latest/lib/assets/issues.js iconfont: //at.alicdn.com/t/font_2032782_8d5kxvn09md.js carousel: https://cdn.bili33.top/npm/hexo-butterfly-tag-plugins-plus@latest/lib/assets/carousel-touch.js tag_plugins_css: https://cdn.bili33.top/npm/hexo-butterfly-tag-plugins-plus@latest/lib/tag_plugins.css githubcalendar: enable: true enable_page: / user: Amnesia-f layout: type: id name: recent-posts index: 2 githubcalendar_html: '<div class="recent-post-item" style="width:100%;height:auto;padding:10px;"><div id="github_loading" style="width:10%;height:100%;margin:0 auto;display: block"><svg xmlns="http://aciano.top/redirect/?target=http://www.w3.org/2000/svg" xmlns:xlink="http://aciano.top/redirect/?target=http://www.w3.org/1999/xlink" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50" xml:space="preserve"><path fill="#d0d0d0" d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z" transform="rotate(275.098 25 25)"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.6s" repeatCount="indefinite"></animateTransform></path></svg></div><div id="github_container"></div></div>' pc_minheight: 280px mobile_minheight: 0px color: "['#ebedf0', '#fdcdec', '#fc9bd9', '#fa6ac5', '#f838b2', '#f5089f', '#c4067e', '#92055e', '#540336', '#48022f', '#30021f']" api: http://aciano.top/redirect/?target=https://python-github-calendar-api-eight.vercel.app/api/?Amnesia-f calendar_js: http://aciano.top/redirect/?target=https://cdn.jsdelivr.net/gh/Zfour/hexo-github-calendar@1.21/hexo_githubcalendar.js plus_style: "" service_worker: maximumFileSizeToCacheInBytes: 5242880 staticFileGlobs: - public/**/*.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,woff2} stripPrefix: public verbose: true runtimeCaching: - urlPattern: /* handler: cacheFirst options: origin: http://aciano.top/redirect/?target=https://cdn.jsdelivr.net/gh/sviptzk/StaticFile_HEXO@latest/butterfly/css/pool.min.css - urlPattern: /* handler: cacheFirst options: origin: http://aciano.top/redirect/?target=https://butterfly.lete114.top/css/Lete.css - urlPattern: /* handler: cacheFirst options: origin: http://aciano.top/redirect/?target=https://cdn.jsdelivr.net/gh/sviptzk/StaticFile_HEXO@latest/butterfly/js/pool.min.js - urlPattern: /* handler: cacheFirst options: origin: http://aciano.top/redirect/?target=https://butterfly.lete114.top/js/Lete.js
复制文章 最后将你的markdown文件全部复制进[Blogroot]\source\_posts
即可。
部署 三连走起:
1 2 3 hexo clean hexo g hexo deploy
参考文章 Butterfly 官方文档
结语
不要因为工程量大,就放弃去做一件你应该做的事!
这是我很喜欢的一句话,适用于绝大多数时候。
美化的尽头是默认。
现在也不喜欢那么多花里胡哨的样式了,能用就行。