俗话说的好“吃水不忘挖井人”,当自己体验过Hexo搭建个人网站后,也来分享一下搭建过程遇到的乐趣以及遇到的坑!
准备工作(电脑配置工具)
在搭建Hexo博客之前,首先需要简单在你电脑安装一些工具以及依赖包(具体安装方法相信大家都会,就省略了)
首先要有一个github账号 其次安装node.js,npm依赖 然后安装git工具(当然电脑自身的cmd工具也是可以用的)
创建github网站(username.github.io的github仓库)
新建一个名为“你的用户名.github.io”的仓库,比如说,如果你的github用户名是mengnn,那么你就新建"mengnn.github.io"的仓库(必须是你的用户名,其它名称无效),将来你的网站访问地址就是 mengnn.github.io了,对的,就是这么方便。
<!--more-->
当然,一个github账户下只能创建一个以此命名的仓库,用来直接访问。
点击New repository 输入Repository name,必需为username.github.io格式。username替换为用户名 点击按钮Create repository 进入仓库username.github.io,点击setting,找到GitHub Pages模块 点击choose a theme选择一个页面主题 访问https://username.github.io就可以访问博客网站了
为github设置SSH Keys
之所以配置SSH Keys,是因为你提交代码肯定要拥有你的github权限才可以,但是直接使用用户名和密码太不安全了,所以我们使用ssh key来解决本地和服务器的连接问题。
首先检查机器上是否已经存在id_rsa.pub文件
cd ~/. ssh #检查本机已存在的ssh密钥
如果不存在那就通过命令生成秘钥
ssh-keygen -t rsa -C "邮箱地址"
一路回车就好(记得应该是连续3次回车),最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容。
打开你的github页面,点击setting进入---> SSH and GPG keys ---> New SSH key,然后把你复制的内容放到Key中,其中Title中的内容可以随便填一个就ok了,如下图:
添加成功保存就OK了。
测试SSH Key
输入下面命令,测试SSH Key是否安装成功
ssh -T git@github.com # 不用改邮箱地址
如果提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后会类似于:Hi mengnn! You've successfully authenticated, but GitHub does not provide shell access.的字符,说明你安装成功了。
安装Hexo
以上准备工作完成后,就要放大招了,对,接下来就是重头戏-本地部署Hexo。
具体的Hexo介绍,你可以在网上查询,有很多,当然你也可以去Hexo官网详细了解,这里就不做过多介绍,不过要特别强调的是,上面的命令行以及下面的npm操作都是通过Git Bash Here操作的,所以前面写到要提前安装git工具。
安装前特别准备
特别注意的是:国内npm安装依赖实在是太慢太慢太慢了,尤其一些依赖小则一百兆左右,大则几百甚至上G兆,所以强烈推荐使用淘宝镜像cnpm安装依赖,淘宝镜像安装方法如下:
npm install -g cnpm --registry=https://registry.npm.taobao.org //查看cnpm是否安装成功 cnpm -v //如果出现版本号的信息,说明你安装成功
然后所有的npm操作你都可以换成cnpm操作了,当然下面为了大家不混淆,还是用的npm操作,你操作的时候全都可以替换成cnpm。
安装进行
通过以下命令行全局安装Hexo
$ npm install -g hexo
初始化仓库
在你机器的合适位置创建项目文件夹(这个文件夹就是以后你写博客的存档文件夹,所有的内容都会在这个里面),比如我创建的是Blog,然后使用git找到Blog根目录下
cd Blog
在项目根目录下初始化你的Hexo。
在初始化之前,尤其抢到一点,你进行的hexo init操作会比较慢,耐心等待,特别特别抢到的事,你的node版本尽量要高于v.6.3.0,不然很大可能你的初始化操作进行一天也不会完成,所以,初始化之前尽可能的检查一下node版本,升级 一下
cd /f/Blog hexo init
初始化完成后,在你根目录下面会生成一些文件
然后你就可以进行hexo操作生成文章以及本地运行
hexo g # 生成对应的html hexo s # 启动服务
上面命令执行完成后,你就可以在根目录的public文件夹下看到对应的生成页面(这个文件夹的内容也会是你推送到github上的内容)
hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容。
上传到github
以上内容都配置好了,你就可以上传到github上了(首先,ssh key肯定要配置好,其次,配置_config.yml中有关deploy的部分)
在之前,我们已经配置好ssh了,所以接下来我们要配置初始化后生成的_config.yml文件,配置如下:
deploy: type: git repository: git@github.com:mengnn/mengnn.github.io.git branch: master
然后你就可以上传了
hexo d #上传本地代码到github
上传成功后你就可以访问你的github域名进行访问了,比如例子中的mengnn.github.io
更改主题
第一次初始化的时候hexo已经帮我们写了一篇名为 Hello World 的文章,默认的主题比较丑。不信你可以自己打开看看。不要急,我们可以更改自己喜欢的主题。当然你可以先在官网中查看自己喜欢的主题,然后下载下来就OK了。我选择的是一个yilia主题
下载这个主题(当然,下载主题可以有很多方法,最后只要你能下载的主题文件copy到根目录下的theme文件夹中即可):
cd F:\Blog\themes #进入到根目录下的themes文件夹(这个就是主题文件夹) git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia #下载yilia主题到文件夹中
下载完成后,你会看到下面的内容(第一个文件就是你刚刚下载的yilia主题文件,第二个是系统默认主题文件)
修改根目录下的_config.yml中的theme: landscape改为theme: hexo-theme-yilia,然后重新执行hexo g来重新生成,然后hexo d提交就OK啦。
如果出现一些莫名其妙的问题,可以先执行hexo clean来清理一下public的内容,然后再来重新生成和发布。
对的,这样你的新主题就更改成功,然后这个主题下还有很多详细高端配置,就暂时不在这里详说了,放一个我自己配置好的界面:
写博客
所有的都配置好,怎么去写博客呢?
定位到我们的项目文件F:\Blog\source_posts中,你所有的初始博客都是保存在这里的,包括你所有的md文件
cd F:\Blog\source\_posts
定位之后你就可以在定位的文件夹里生成md文件了
hexo new 'my-first-blog'
当然,你也可以自己手动在_posts文件夹中创建.md文件,进行编写
--- title: postName #文章页面上的显示名称,一般是中文 date: 2019-08-14 22:30:16 #文章生成时间,一般不改,当然也可以任意修改 categories: 默认分类 #分类 tags: [tag1, tag2, tag3] #文章标签,可空,多标签请用格式,注意逗号后面有个空格 description: 附加一段文章摘要,字数最好在140字以内,会出现在meta的description里面 ---
另外在这里我推荐一个个人认为比较好用的写博客工具:Typora,目前为止我发现的最好用的md文件编辑器,可以上传图片,代码块,文字编辑,主题更好等等,轻量级而且好用,Typora官网,你可以下载你需要的版本。
以上就是简单的Hexo github博客的部署以及上传,相信对于入门的你来说已经足够了,后续会推出进阶版的文章,请持续关注。
,