作为一个纯小白搭建这个博客,着实踩了一路的坑,作为本站得第一篇博文,当然是对之前的建站之路做一个小小的笔记,方便后续食用。本文记录并附上本站的相关配置文件,以充当配置文件备份之用。本站是基于Archlinux
环境下利用github
的平台搭建的hexo
博客,所使用的模板是hexo中使用人数最多的next
主题。
选择linux一来我把他安装在了移动硬盘上面,能够随身携带,随时更新,二来,linux下环境配置相对简单,arch的pacman 跟aur软件管理器美滋滋啊有木有。已经有好多大神写了不少在win下搭建的流程,大体除了需要单独下载软件包安装之外,貌似基本上完全一样,本篇内容,好像完全没有意义。 不过,鉴于在已经有这么对很完善的贴子之下,我依旧没能一次成功,我还是决定要把我搭建本站的过程记录下来,顺便趁机熟悉一下hexo写博客的语法。好了,话不多说,以下内容均亲测。后面的命令已进行精简。
环境的配置
安装git node.js
1 | sudo pacman -S git nodejs |
win下自行到官网下载安装包安装。
用node安装hexo
在此注意,hexo安装时,在根目录之下操作。部分帖子写的安装hexo-cli,我试的时候失败了,失败原因,没有自动建立全局命令,原因不详,而且,安装hexo时,会发现连带安装的也有hexo-cli。 恩 小白这方面不懂不懂,反正安装hexo就是了。
1 | $npm install hexo -g |
本地博客生成
找任意一个自己觉得方便的地方,新建一个目录,英文名字命名吧,中文没试过。如:我建立的文件夹路径为:/home/earth/Download/sxxkearth
,cd进入该文件夹之下,生成本地博客文件。
1 | $ cd /home/earth/Download/sxxkearth |
1 | $hexo init |
上传代码到Github托管
如果要上传代码到github,需要先生成git的ssh密钥,加入到github 设置栏下的ssh密钥管理栏下。 设置过程自行百度非常详尽。在此只提一个,就是切记在执行上传之前要将一下代码加入到博客根目录下的_config.yml文件之下。内容在最后一行。否则会报错无法上传。
1 | deploy: |
上传代码
1 | $hexo d |
执行这个命令时,经常会出现没有文件需要更新,没有上传的问题,这种问题一般执行一下下面这个命令再上传就好了
1 | $hexo clean |
更换主题
在执行完hexo init
之后会发现博客根目录下已经生成了一些文件夹,此时执行hexo s
可以打开本地服务器,就能够在浏览器中访问http://localhost:4000/
这个地址了。此时的主题为默认的主题。最后进行主题的更换。先ctrl+c
关闭本地地址,前往下载Next6.0+主题主题。细节部分可参阅NEXT使用文档。将主题下载下来,解压到/sxxkearth/theme
文件夹下,更改文件夹名称为Next
更改博客根目录下的配置文件,将自带主题修改为next主题。
1 | # Extensions |
至此next主题已经可以正常的运行在本地之中了。
主题配置
初设置的主题完全都是默认的样子。我们可以更据自己的需求对其进行相应的修改。next
主题可以说是非常完善的主题,大部分的功能都已经集成了,我们只需要在主题配置文件中打开相应的开关即可。一下内容,大部分为主题中暂时并未附加的功能的添加。
大部分的功能不仅需要源代码,还需要必要的插件的支持,安装插件时,用npm安装可能会报错,是因为源的问题。下面将npm使用的源换成淘宝源。
1 | $npm install -g cnpm --registry=https://registry.npm.taobao.org |
主题维护
在此特别提醒,在设置完比较多东西的时候,备份scaffolds
,source
,themes
,_config.yml
,package.json
五个文件及文件夹。方便有问题的时候能够快速恢复。
1 | scaffolds |
要恢复备份时,将以上文件放入一文件夹中。package.json
文件中记录了所有已安装的插件。 使用cnpm install
命令可下载所有插件。当然package.json
文件中只会留下安装时附以--save
安装的插件。当然,为了方便,基本上所有的插件都使用cnpm install xxxxx --save
安装便好。此位置,安装成功的表达为输出内容前排含勾。 若有Err之类的为有报错。可能是错误的执行了npm命令。
1 | cnpm instal |
在此,提一个貌似之前没逛到的东西。估计这个对大神来说可能根本就是皮毛所以并没有提。 谁让咱是小白呢。我就着这提一下好啦。
之前因为插件及渲染器的安装错误,甚至因为安装了插件,导致hexo s 命令丢失,很奇怪,也很难受。我花了大量的时间来解决hexo单方面的问题,然后又接着研究者怎么成功安装插件,最后要放弃重来的时候发现,只要把博客根目录下的所有东西删除,再重新执行hexo init
,所有的东西,就基本已经重来啦,前提是,一定要做好上面所述文件的备份,这样我们把就不需要再对模板进行从新更改,博文内容也不会因此而丢失。 由上可得,之前一只要求安装时候所在的路径,是因为hexo,git,node.js等需要的是全局命令,所以在系统根目录下安装,比较稳妥,而hexo插件的安装,是以文件的形式,存在于博客根目录下的node_modules之下,安装的所有插件,都能狗在里面找到。
本来多附一点图片,实在,代码书写尚不习惯,排版也不太好,忘各位看官海涵。
纯小白书写,观点可能有误,如各位大佬发现问题,欢迎联系指正。
软件版本更新维护
博客需使用较新的node.js版本,否则容易出现报错,建议选择新版本的软件进行安装。使用新版本后,出现以下情况为软件版本过高,可在下述文件中补充相应代码解决。
1 | (node:15448) Warning: Accessing non-existent property 'column' of module exports inside circular dependency |
1 | exports.lineno = null; |
若提示缺少其他依赖或其他依赖需要更新,均可使用npm install xxx
或cnpm install xxx
进行下载,使用npm upgrade xxx
或cnpm upgrade xxx
进行更新。 其他问题另详。
建站主要参考的链接:
https://www.haomwei.com/technology/maupassant-hexo.html
https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html#%E4%B8%8A%E4%BC%A0%E5%88%B0github
https://lemonreds.github.io/2018/02/08/hexo-theme-nayo/
https://hfanss.com/
本文主要参考链接:
https://hfanss.com/2018/Maupassant%E4%B8%BB%E9%A2%98%E3%80%81%E5%B1%A0%E5%9F%8E%E4%B8%BB%E9%A2%98%E4%BC%98%E5%8C%96%E7%89%88.html
https://www.haomwei.com/technology/maupassant-hexo.html
https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html#%E4%B8%8A%E4%BC%A0%E5%88%B0github
https://npm.taobao.org/