强推使用FastPages搭建博客
😘甚至比我想象的更加完美!FastPages的优势:同时支持使用Jupyter NoteBook/word/markdown写作博客!与GitHub Pages无缝融合!
什么是FastPages
FASTAI出品的一个易用的博客框架,尤其突出的特性是对JupyterNoteBook的支持。
如何安装FastPages
非常简单。
(1)通过这个链接生成一份fork;
(2)GitHub会在约30s后为你的fork开一个Pull Request;
(3)进入Pull Request,按要求首先创建一对 RSA 密钥对。你可以在本地用ssh-key-gen
命令创建;
(4)配置RSA密钥对。注意private key命名必须是SSH_DEPLOY_KEY,不然后边部署时会报错;
(5)Merge这个Pull Request,30s后就可以见到你的博客了;
(5)如果Merge过程中出现错误,可以到Actions页面里边点击重试.
如何配置FastPages
FastPages安装完成后,初始页面看起来是这个样子的:
_config.yml
中修改title
字段
修改② - 在_pages
中修改about.md
修改③ - 在根目录下修改index.html
修改④ - 在_config.yml
中修改description
字段
修改⑤ - 在_config.yml
中修改social_links
字段
问题
(1)如果你遇到了类似这样的错误--
jekyll_1 | Liquid Exception: Permission denied @ rb_sysopen - /data/.tweet-cache/ee341900d3bc668607abd8cba365fd1b.cache in /data/_posts/2020-01-14-test-markdown-post.md
jekyll_1 | /usr/local/bundle/ruby/2.6.0/gems/jekyll-twitter-plugin-2.1.0/lib/jekyll-twitter-plugin.rb:41:in `initialize': Permission denied @ rb_sysopen - /data/.tweet-cache/ee341900d3bc668607abd8cba365fd1b.cache (Errno::EACCES)
请在目录下执行以下命令:
mkdir .jekyll-cache _site .tweet-cache && touch .jekyll-metadata
如果仍有问题,则在docker-compose.yml
中,jekyll -> command节点下,加入以下语句:
chmod 777 * .tweet-cache
(2) 如果你发现笔记本中粘贴的图片无法展示 -- 请升级到最新版本的fastpages。
(3) 如果你发现在粘贴图片后CI
状态变为Fail
--
请按照代码方式更新你的nb2post.py
文件。
(4) 如何用Jupyter Lab快速打开目录(windows)
Jupyter Lab默认打开的是用户目录,如何实现快速打开任意路径下的fastpages文件呢?建符号链接 --
-
复制fastpages的_notebooks路径 {dir}
-
用户目录下打开文件资源管理器,ctrl+L,输入cmd打开命令提示符
-
输入
mklink /J notebook {dir}
-
jupyter lab启动后直接打开notebook文件夹即可
(5) Jekyll build very slow - Jekyll Rendering Liquid非常缓慢
如果你在文章中包含了大量的base64编码图片,会造成Jekyll Rendering特别慢(超过1h)
解决方案 :预处理的时候将base64编码保存为图片,再链接到文章中即可。参考代码方式更新你的nb2post.py
文件。
总结
FastPages博客的配置和更新方式都和维护一般Git项目类似,对NoteBook的支持应该会催生一批数据科学家用户。
PS:这篇文章同步发表于Gridea