利用github搭建个人博客(使用hexo)
写在前面
实际上现在github建立博客十分简单了,建立特定名称仓库后,在settings->pages里面就可以进行部署的操作,参考视频:Github王炸功能Pages
配置next主题,可以查看此视频:[馨客栈分享]使用Hexo博客搭建的个人博客
部署
下面正式开始本文
感谢每一位无私分享知识的笔者
注册git账号并绑定到本地
因为我已经有了,所以这一步骤省略,网上也都是注册和使用教程
安装node.js和hexo
在官网下载完之后直接安装就了,最好改个非C盘的路径安装,安装完成后在命令行用下面的命令检查一下是否安装成功了
1 | node -v |
然后在nodejs安装目录里新建两个文件夹node_cache和node_global,接着我们用下面的命令设置npm安装模块的默认路径(注意要把命令里的路径改成自己的)
1 | npm config set prefix "D:\Software\NodeJS\node_global" |
打开文件管理器,右击此电脑,选择属性,选择高级系统设置配置环境变量,新增一个系统变量NODE_PATH,值是D:\Software\NodeJS\node_modules
再修改用户变量里Path中npm的路径,改成D:\Software\NodeJS\node_global
这样我们安装模块就会默认安装到node_global里面了
修改npm安装源
查询安装源:
1 | npm config get registry |
设置安装源(下面的是淘宝镜像):
1 | npm config set registry https://registry.npmmirror.com |
开启一个管理员命令行窗口
后面安装包的命令都需要管理员权限,单独把这个作为一个步骤列举出来,用管理员权限打开命令行窗口
安装webpack和hexo-cli
安装webpack
1 | npm install webpack -g |
如果前面设置没有问题,我们在自己设置的node_modules目录下应该能看到安装的包,,否则就应该在默认目录下:C:\Users\[用户名]\AppData\Roaming\npm\node_modules
如果错了也没关系,用命令npm uninstall webpack就能删除干净
接下来安装hexo-cli
1 | npm install hexo-cli |
然后在你想要建立博客工作目录的地方使用下面的命令初始化,比如我的目录位置是D:\root\blog
1 | hexo init |
这一步可能会clone仓库失败,github访问在国内挺随缘的,只能自行上网解决了
静态部署网页
1 | hexo g |
查看静态网页(可能不会自动打开,在浏览器查看命令行给的地址)
1 | hexo s |
检查完毕后ctrl+c终止运行
建立博客远程仓库
建立github仓库,需要注意仓库的名称得是[用户名].github.io,这也是我们个人博客的域名
将Hexo部署到仓库
回到blog文件夹,打开_config.yml文件,将最后的deploy部分替换成下面的内容
1 | deploy: |
再安装git部署插件
1 | npm install hexo-deployer-git --save |
然后依次执行下面三条命令
1 | hexo clean #清除缓存文件 db.json 和已生成的静态文件 public |
部署完成后就可以输入你的域名访问自己的博客网站了:[用户名].github.io
美化
hexo主题众多,其中next深得我心,简约大气,我们建立博客是为了写文章做笔记,某种意义上什么主题并不重要,当然你可以找一个自己喜欢的
这个是next的示例站点
你可以拖到最下面查看他的源代码,找找那些你喜欢的地方是如何修改的
我们将主题仓库clone到blog/themes/next目录下(或者clone之后放到next目录里)
1 | git clone https://github.com/next-theme/hexo-theme-next |
完成后我们修改之前改过的配置文件_config.yml
1 | # Site |
打开hexo-theme-next下的配置文件_config.yml,对主题本身作一些修改
1 | # Schemes |
然后我们再在命令行输入
清理
1 | hexo clean |
静态部署
1 | hexo g |
本地查看(先检查再部署是好习惯)
1 | hexo s |
部署(上传到github)
1 | hexo d |
针对主题的修改可以发挥自己的想象力,不只是修改他本身的配置文件,虽然这已经可以做到很多事情了,你可以设置头像,设置座右铭,你也可以写自己的前端代码,定制主题样式,接下来就交给你自己探索吧。
文章相关功能
如何写文章
我们的文章默认都在blog/public/_post下面,默认有一篇helloworld.md
新建一篇文章
1 | hexo new post 新文章名 |
新建一篇草稿(不会显示在站点上)
1 | hexo new draft 草稿文章名 |
查看草稿
1 | hexo s --draft |
草稿转换成正式文章
1 | hexo publish 草稿文章名 |
简化命令
1 | # 新建正式文章 |
写完文章之后用hexo d部署,就可以在网页端看到我们的文章了,当然,先检查再部署才是好习惯。
将正式文章转化为草稿
正常我们新建一个草稿文章,会在source/_drafts目录下,我们只需要手动将文章移动到这里即可。最好是用hexo n draft xxx让hexo自动创建这个目录。草稿文章和正式文章,只是所在目录不同罢了,hexo publish也只是把草稿文章从那个source/_drafts移动到source/_posts中。
显示所有文章
hexo list post --draft
这会显示所有文章(包括草稿),在你需要转换草稿为正式文章时直接用此命令列出来,复制他的名字publish就行。
如何删除文章
如果文章还没有发布到git,直接删除_post文件夹下的源文件之后,执行
1 | hexo clean |
如果你的文章已经发布到git,还需要删除.deploy_git文件夹,再执行上面的命令,究其原因就是hexo clean并没有将发布内容清除
如何创建页面
我们可以打开next主题的menu,比如下面我启用了四个页面
1 | menu: |
但是实际点击会发现标签和分类页面会错误,因为我们还没有创建这两个页面
创建标签页
1 | hexo new page tags |
创建分类页
1 | hexo new page categories |
接下来我们就会看到_posts所在目录下多了两个文件夹,并且其中都有index.md文件,我们修改一下
1 | --- |
1 | --- |
我们在文章头信息可以自定义标签和分类,这也是本文章的分类和标签,你可以在相关的地方找到,文章头中我们写了描述信息,这会自动折叠文章,打开时会自动为文章创建目录
1 | --- |
增加搜索功能
安装hexo-generator-searchdb,在站点根目录下执行
1 | npm install hexo-generator-searchdb --save |
编辑站点配置文件,在最后新增下面内容
1 | search: |
编辑主题配置文件,启用本地搜索
1 | local_search: |
修改主题的配置文件_config.yaml:
1 | # Mermaid tag |
然后重新生成博客:
1 | hexo clean |
如果你习惯用暗色主题,可能会看到流程图的连线颜色和背景色过于相似导致看不清,这时候我们打开 next 主题中的自定义样式:
1 | custom_file_path: |
重点来了,这个文件不是索引的 next 目录,而是hexo主目录,所以我们要在hexo主目录的 source 添加文件:
1 | source/_data/styles.styl |
然后在文件中写上样式配置:
1 | .mermaid .flowchart-link { |
这样,在默认的暗色主题下也能看清mermaid连线了(如果是亮色主题并不需要这个配置)。
保存你的配置和源文件
当我们完成配置hexo之后,最重要的就是我们的配置文件和源文件,防止主机丢失,或者在多台机器上搭建相同环境,这样我们在哪里都能写文章。
配置文件自然就是根目录下的_config.yml,源文件是source目录中所有内容。
我们可以直接在根目录git init建立git仓库,然后连接到远程仓库(你可以保存源文件到私有仓库),根目录下已经有了一个.gitignore,帮我们排除了所有不需要的文件,如果没有的话直接新建一个,然后写上:
1 | .DS_Store |
我们用git status查看一下会上传哪些文件:
1 | .gitignore |
完美。
注意,我把themes排除了,因为配置得不多,而且文件太大,需要配置再clone吧。