创建gh-pages站点
大致是按照github blog 文档进行操作.
###遇到的主要问题
-
在进行本地服务器初始化的时候
bundle install
等待太久,我替换了Gemfile 中的source 解决了# source "https://rubygems.org" source 'http://rubygems.org'
- 在
bundle install
后启动server 仍然报依赖缺失bundler: failed to load command: jekyll, require’: cannot load such file – webrick
~ bundle add webrick# (缺失的包) ~ bundle install ~ bundle exec jekyll server # 启动页面服务 Build the site and make it available on a local server ~ jekyll server # 也是启动页面服务
-
在提交文件遇到的一些问题
本机之前没有安装过git ,我下载了一个最新版的git之后,直接新建了本地仓库,然后配置了用户名,邮箱等,最后连接了github
由于之前在github 页面创建过一个仓库,提交了一些文件,后来按照说明来在本地创建仓库,新的仓库代码无法合并到远程github 上,
- 首先是pull 被拒绝 解决方案
git pull origin master --allow-unrelated-histories
-
然后在pull 的过程中访问远程 失败 出现这个错误
OpenSSL SSL_read: Connection was reset, errno 10054
我使用设置不验证跳过这个错误。
git config --global http.sslVerify "false"
- post 中的文章老是没法正常展示在页面中,经过搜索检查原因总结如下
stackoverflow 回答
The post is not placed in the _posts directory. The post has incorrect title. Posts should be named YEAR-MONTH-DAY-title.MARKUP (Note the MARKUP - extension, which is usually .md or .markdown) The post’s date is in the future. You can make the post visible by setting future: true in _config.yml (documentation) The post has published: false in its front matter. Set it to true. The title contains a : character. Replace it with :. Works in jekyll 3.8.3 (and probably in other ‘recent’ releases).
- 尝试使用gitment 给个人博客添加品论区,毕竟无法互动的博客没有灵魂
-
个人博客里有许多模板语法,这些语法是 Liquid.js 语法,尝试修改的话可以查看API
- 在博客中添加数学表达式,参考了stackoverflow的回答 ``` // append script import inside the <head/> of your _layouts/default.html file`
- 最近系统更新
jekyll server
命令突然运行报错unexpected ucrtbase.dll
这个提示其实时启动ruby 时产生的,不知道微软的破系统更新老是有新bug 产生,要么等系统升级解决bug,要么把ruby 降级.
后来决定把ruby 降级(3.1.2->3.0.4),在网上看到 ruby 3.0.4 版本没有这个问题,于是先卸载再重新安装jekyll 后解决. 安装jekyll 过程中又遇到一些问题
因为我在windwos 环境上,所以 提示我安装一个mysy2,后来gem install jekyll
还是报错
ERROR: Error installing jekyll: ERROR: Failed to build gem native extension.
网上冲浪)后发现是我图下载快了一个不带DEVKIT 的ruby 导致的,于是卸载原来安装的 重新下载安装后解决了
- 添加目录
由于 jekyll 使用的是
kmardown
不支持 [toc] 目录语法, 所以使用liquid 解决方案
Download the toc.html file from the latest release or the master branch
Toss that file in your _includes folder.
Use it in your template layout where you have which is the HTML rendered from the markdown source with this liquid tag:
- 日期在未来的文章无法渲染
只需要在 _config.yml 中配置
future: true
覆盖默认配置可以了