之所以要记录,是因为好记性不如烂笔头,我记性不好,容易忘……
之所以要用Hexo,是因为它对新手很友好,很容易上手,并且对于有markdown写作习惯的同学来说,简直就是一款记录知识/成长/心得日志的一大利器。并且,随着后期个人水平的逐渐提高,学着自己做一个Hexo主题,也是一件很值得深入探索的有趣事儿。
不多说,直接上手开始……
直接从官网下载,Node.js,选项默认,直接安装,Git,也是默认直接安装。
直接用安装包安装会省去很多麻烦。
安装完成后在“命令提示符”中输入node -v
和npm -v
会看到版本号。
在GitHub的New repository中建立一个“你的注册名.github.io”的仓库,默认设置就行。比如我的“QuiteZeal.github.io”
桌面位置右击,打开“Git Bash Here”,输入:
git config --global user.name "你的GitHub注册名"
# 回车,再输入
git config --global user.email "你的Github注册邮箱"
接着生成SSH密钥文件:
ssh-keygen -t rsa -C "你的GitHub注册邮箱"
# 什么都不要输入,三个回车就好。
然后在生成的信息中,找到生成的文件,id_ras.pub,用文本文档打开,推荐使用Notepad++,全部复制后,到GitHub的设置界面SSH and GPG keys,New一个SSH key即可,(Title随意,内容复制)
然后在Git Bash中输入:ssh [email protected]
如果出现PTY allocation request failed on channel 0……
则说明到这一步,暂时都没问题。
安装Hexo框架,这一次先想好自己的Hexo要安装在哪里,比如可以建一个文件夹,然后Hexo就安装在这,注意下面的步骤:
打开管理员模式下的“命令提示符”(可以从Windows系统工具中找到,右键更多里有“管理员模式”),然后切换到自己创建的文件位置,切换到D盘直接输入D:,进入文件夹,用cd “文件名”。
然后输入:
npm install -g hexo-cil # 进行全局安装
(如果是卸载,就是npm uninstall hexo-cli -g
,并且,如果要重新安装,那么还要手动删除文件夹里的hexo文件)
如果出现WARN的警告,没有关系,继续就行,初始化博客:
hexo init # 迁移到自己创建的文件夹里
成功后会出现“Start blogging with Hexo!”的字样。
可以直接输入(记得要加双引号):
hexo new "This is my first blog here" # 创建一篇新博文
hexo g # hexo generate 生成静态文件的缩写
hexo s # hexo server 运行服务的缩写
如果很不幸,你跟我一样出现了这样一堆很心烦的报错……
hexo g
Usage: hexo
Commands:
help Get help on a command.
init Create a new Hexo folder.
version Display version information.
Global Options:
--config Specify config file instead of using _config.yml
--cwd Specify the CWD
--debug Display all verbose messages in the terminal
--draft Display draft posts
--safe Disable all plugins and scripts
--silent Hide output on console
For more help, you can use 'hexo help [command]' for the detailed information
or you can check the docs: http://hexo.io/docs/
我的方法是,卸载了重新安装,记得hexo文件也要手动删除。然后再继续就好。不过这里一定要记录一下出现这种状况的原因所在:
原因是没有在hexo的目录下执行操作,因为我在迁移的过程中不小心又生成了一个文件,也就是hexo init 后面多加了一个文件名,这是不需要的!!
我重新安装后没有生成直接新页面,是先尝试了一下hexo g
和hexo s
是否可行然后的再继续的。
记得每一次新的文章加入后,都需要部署后开启服务,即hexo g
和hexo s
(本地调式是这样。)
直到最后出现这样的字样:
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
说明我们成功啦,但是可不要在命令栏下CTRL+C呀,因为这是中止操作。(我是一开始总习惯性地犯这个错,最后不还是手动输入哒,哈哈哈哈)
npm install -g hexo-cli
安装Hexonpm uninstall hexo-cli -g
卸载Hexo,文件夹内容hexo init
初始化博客(在最开始安装时使用)
hexo n "名字" == hexo new "名字"
新建博文hexo n page newpage
新建一个名为“newpage”的页面,默认网址主页地址/newapge/
hexo g == hexo generate
生成静态文件hexo generate -d == hexo generate -deploy
习惯性连用,文件生成后立即部署网站hexo s == hexo server
启动服务器,本地服务器的默认网址< http://localhost:4000/>
hexo clean
清楚缓存文件和已生成的静态文件,网站异常时可用。
组成使用(我习惯每次上传前都clean一下)hexo clean && hexo s
以及hexo clean && hexo d
等等
在此之前,你一定有一个文本编辑的强大工具了,首推Notepad++
修改blog文件夹下的config.yml
文件,打开,拉到最后,修改deploy
,内容参考如下:
deploy:
type: git
repo: https://github.com/QuiteZeal/QuiteZeal.github.io.git
branch: master
一定注意冒号后面的空格,以及结尾的.get
,然后保存即可。
这个操作的目的是,在使用hexo deploy
命令时,知道该把内容部署到哪里,这个位置和你在github上看到的是一致的才对。
然后安装Git部署插件:
npm install hexo-deployer-git --save
然后就是
hexo clean
hexo deploy -g #连用+缩写
至此,上线工作完成,输入“注册名.github.io”就能直接访问了,比如我的https://quitezeal.github.io/(大小写不区分的)
使用阿里云或者腾讯云都行,通过域名解析,CNAME
类型名进行绑定,www
和@
这两个都可以直接记录到”你的注册名.github.io”上。
然后就是在github.io仓库的设置里,往下拉,把Custom domain设置成自己的域名即可。
至此,我的已经可以通过自己的域名进行访问了AhaKnow,不过暂时还不能通过https访问。
不放心的话,在可以在blog/source
里建一个文本,在里面输入自己的域名,然后保存为CNAME,类型为所有文件。
暂时先用大神们写好的主题啦。
比较受追捧的是一款NexT主题,可以直接在git上下载,还是在之前blog目录下的命令行:
git clone https://github.com/iissnan/hexo-theme-next themes/next
自己感兴趣的,可以直接参照官方文档,进行探索。
然后打开站点的配置文件,之前那个config.yml
,往下拉将里面的theme值改成next。(注意空格)当然,其他配置也可以进行探索和修改。
主题里面也有一个config.yml
那是用来配置主题的,可以自行探索。
现在重新生成配置一下就好啦。
hexo deploy -g
我在部署上传之后,发现打开竟然404了,不是仓库名字不对,也不是邮箱没有验证,因为按照之前一路走下来,一点问题都没有。
而鼓捣了半天发现,是因为自己的网络问题,我用的是外网,而且还是全局模式……换一个网络就登上去了。。
比如,可以自己动手写个CSS,在已有的主题上进行自定义地修改,或者日后炉火纯青了,完全可以自己写一个主题,不是吗?(嗯,这也是我要努力学习的!)
就是因为习惯性的喜欢Markdown,如果你还不是很熟悉,建议参见markdown指南上的基础讲解,嗯,英文的,正好练习了一下英语阅读能力。
哦,对了 ,关于markdown的编辑器,首推Sublime,当然Notepad++也没为题。
可以直接通过hexo new "一篇新文章"
来创建一篇,并且这样创建的md文件会在开头自动生成标题、日期、标签等(可以自行设定)
当然也可以把已经写好的md文件直接粘贴过去source\_posts
下面。
到此,利用Github+Hexo搭建自己的博客基本完成,后面还有更个性化的进阶学习,让我们下一篇继续!