Jekyll博客本地部署

Jekyll博客本地部署出现的问题

Posted by Gavin on September 6, 2023

部署的过程

gem是一个管理Ruby库和程序的标准包 ruby的安装参考这个文章即可: windows上ruby的安装

# 安装jekyll和jekyll bundler
$ gem install jekyll
$ gem install jekyll bundler
# 进入博客所在的目录里面 D:\OneDrive\04文档\ObsidianGit\Gavin\posts\
# 执行如下的命令就可以在127.0.0.1:4000上面访问本地部署的博客了
cd D:\OneDrive\04文档\ObsidianGit\Gavin\posts\
$ jekyll s

也可以参考下面的命令

~ $ gem install jekyll bundler
~ $ jekyll new my-awesome-site
~ $ cd my-awesome-site
~/my-awesome-site $ bundle install
~/my-awesome-site $ bundle exec jekyll serve
# => 打开浏览器 http://localhost:4000

看到cmd里面输出如下的内容说明

 Auto-regeneration: enabled for '/Users/baiying/Blog'
Configuration file: /Users/baiying/Blog/_config.yml
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

你就可以在 http://127.0.0.1:4000/ 看到你的博客,你对本地博客的修改都会在这个地址进行显示,这大大提高了对博客的配置效率。

使用ctrl+c就可以停止 serve

本地的博客主页里面不显示文章的目录

原因

  • 首先是博客仓库根目录下的配置文件 _config.yml缺少了 jekyll-paginate 模块
  • 另外, _layouts 文件夹下的 post.htmlpage.html会报类似下面的错误
    Liquid Warning: Liquid syntax error (line 145): 
    Unexpected character { in "tag[1].size > 1" 
    in /_layouts/post.html
    

    解决方法

    修改 _config.yml

    首先,我们需要先安装 jekyll-paginate 模块,打开终端,输入以下命令,按照提示输入系统管理员密码完成安装:

    gem install jekyll-paginate
    

然后,我们进入博客仓库的根目录文件夹,找到配置文件 _config.yml 打开_config.yml配置文件,然后在里面添加一行代码:

plugins: [jekyll-paginate]

修改 post.htmlpage.html文件

然后我们进入 _layouts 文件夹,找到post.htmlpage.html 根据提示的信息,我们定位到 post.html 中的第145行,以及page.html 中的第38行和87行,找到下面的代码,将其中的双层花括号删除

# 修改前
tag[1].size > 1

# 修改后
tag[1].size > site.featured-condition-size

最后重新启动jekyll服务器就可以看到了,没有发现报错的信息了,而且主页里面也是可以显示文章的目录的

参考的文章

博客搭建的详细的过程 Jekyll博客本地部署出现的问题(主页不显示)