说明
- 基于jekyll与基于hexo进行搭建有比较明显的不同,具体可以参见这一篇文章:https://liguanghe.github.io/2017/11/06/blogRebuilt/
- 最开始基于jekyll进行搭建,但是自己需要配置的东西比较多,因此在之后也使用了hexo进行博客的搭建。
基于hexo的blog搭建
- 因为hexo搭建过程中,需要在本地生成网页,再将生成的页面上传到网站上,上传可以通过hexo进行,这与git经常冲突,因此在这里需要特别注意。
- 首先安装hexo于git,这个可以直接参考hexo官网的教程,在上传的过程中,可以使用
hexo d -g
进行文档的上传,因此其实自己写的md文档是不会上传的,在一定程度上也保证了自己文档不会被别人滥用。 - 如果上传之后,blog没有发生变化,则可以将
.deploy_git
文件夹删除掉之后再重新进行部署。
基于jekyll的blog搭建
本地安装与测试
步骤
- 按照教程:https://pages.github.com/走就可以
- 安装ruby:https://rubyinstaller.org/downloads/,安装官网推荐的那个,下载完成后直接安装即可。注意安装的时候,记得勾选将目录添加到系统目录中(默认是勾选的状态)。
- 使用
gem install
去安装Jekyll,当然使用默认的源的话,速度可能会很慢,在这里可以使用淘宝的源,参考链接见:https://blog.csdn.net/mengxuanxiangu/article/details/45726795
测试
jekyll -v
可以测试jekyll是否安装成功。- 可以从网上下载模板,进入下载的文件夹,使用
jekyll serve
启动服务,如果不行,提示cannot load such file bundler
,则需要按照https://stackoverflow.com/questions/19061774/cannot-load-such-file-bundler-setup-loaderror中的说明,使用gem install bundler
安装包。 - 启动之后,可以在浏览器中打开
http://localhost:4000/
以查看网页内容,这里默认的配置端口是400,可以通过修改_config.yml
来选择不同的端口。 - 上面的方法是针对本地的,可以查看的话则表明环境搭建成功。
其他可能遇到的一些问题
Could not find gem 'jekyll-sitemap'
。参考链接:https://github.com/jekyll/jekyll/issues/4972could not find a valid gem 'pygments.rb
。参考链接:https://blog.csdn.net/moonclearner/article/details/52238033- 服务启动失败。可以考虑换一个port,方法参考链接:https://blog.csdn.net/u013939884/article/details/53288322
the gems configuration has been renamed to plugins
。这个是因为jekyll更新的问题。解决办法:https://github.com/elixir-lang/elixir-lang.github.com/issues/1035Liquid Warning: Liquid syntax error :unexpected character when I jekyll serve
:一般是版本不对造成的问题,我建议是找问题,将代码改到最新的版本,一般核心逻辑不会变,主要是一些表达式之类的问题。参考链接:https://stackoverflow.com/questions/39688902/liquid-warning-liquid-syntax-error-unexpected-character-when-i-jekyll-serve- 大部分都是提示没有找到库之类的问题,看错误信息,直接使用
gem install
安装即可。 - 去掉生成的文档中的标题:将
_config.yaml
中的anchorjs
修改为false
即可。https://github.com/Huxpro/huxpro.github.io/issues/136
附加功能
- 使写出来的md文档支持latex:https://www.zhihu.com/question/62114522
- 原来的模板中有分享到微信、博客等按钮,但是超链接是无效的(
href="javascript:void(0);"
),因此我在post.html
中将相应的代码注释掉了。 - 修改博客主页的背景图片:修改博客的md文档中的
header-img
即可实现。 - 博客生成目录:使用的
kramdown
作为markdown解析,支持生成目录http://szhshp.org/tech/2015/11/18/jekyllmarkdowntoc.html。同时我使用的模板也支持catalog,只需要在文档的开始处添加catalog: true
即可。
上传到github
- 根普通的上传方式相同,将需要上传的文件复制到repo的目录下,就可以push了。注意不能将_site文件夹中的目录上传(在
.gitignore
中写一下即可)。 - 上传之后,生成网站也需要一些时间,因此之后的访问更新有一些延迟是正常的。