使用 jekyll+huxblog 搭建博客系统
搭建基于 jekyll+huxblog 的博客系统,并使用 Docker 实现预览
使用 jekyll+huxblog 搭建博客系统
克隆 huxpro 主题
1
git clone --branch master --depth 1 git@github.com:Huxpro/huxblog-boilerplate.git kode4fun.github.io
克隆后,可以删除 kode4fun.github.io 文件夹中的 .git 目录
启动预览
1
2
docker run --name kode4fun -d --rm -v /f/scripts/github/kode4fun.github.io/:/usr/src/app -p 4000:4000 starefossen/github-pages
docker exec kode4fun jekyll build
第一次运行时会自动下载 starefossen/github-pages 的 Docker 镜像
修改主题设置
- 编辑
_confim.yml文件 - 根据提示修正编译时
_layouts下模板文件的错误if语句内的变量多余\{\{和\}\}if中的&&替换为and
- 去除
anchorjs的超链接多余 # 符号- 修改
_layouts/post.html中的icon: ''为空
- 修改
- 查看网络请求,将部分外部资源本地化以提高加载速度
代码高亮和行号
- 从 prismjs 官网 配置需要的语言并下载
js并保存到js目录css并保存到css目录
- 在
_incudes/head.html中加入如下代码
1
2
<script src="/js/prism.js"></script>
<link rel="stylesheet" href="/css/prism.css">
- 在
_includes/footer.html尾部中加入如下代码
1
2
3
4
5
6
7
var pres = document.getElementsByTagName("pre");
for(var i = 0; i < pres.length; i++){
var pre = pres[i];
if(pre.childNodes[0].nodeName == "CODE"){
pre.setAttribute("class","line-numbers");
}
}
less 编译
先在容器内安装 less 和 clean-css
1
2
3
4
5
6
docker exec kode4fun pwd
docker exec kode4fun ls
docker exec kode4fun node --version
docker exec kode4fun npm install -g less
docker exec kode4fun npm install -g clean-css
docker exec kode4fun npm list -g
编译 less 生成 css
1
2
3
docker exec kode4fun lessc less/hux-blog.less css/hux-blog.css
# 注意 -- 参数的传递
docker exec kode4fun lessc less/hux-blog.less css/hux-blog.min.css ----clean-css
less 编译后需要重启镜像才能更新
目录生成
- 将 jekyll-toc 下载并复制到
_includes_文件夹下 - 在
_layouts/post.html中添加\{\% include toc.html html=content \%\} - 参照 黄玄的博客 修改 js 和 css
本文由作者按照 CC BY 4.0 进行授权