Jekyll博客

MyBlog — Jekyll 博客模板

作者 marquistj13

基于 Jekyll 的博客模板,改编自 LessOrMore,主要面向用 Collection 记录和整理笔记的场景。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-02查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

基于 Jekyll,改编自 LessOrMore 博客模板

02

以 Collection 组织笔记,Collection 中的 Markdown 可引用同目录图片

03

配置集中在根目录 _config_with_python 文件夹,由 template_config.yml 与 menu_config.yml 分别管理元数据和菜单

04

修改配置后需运行 buildMenu.py 生成菜单,脚本依赖 Python 的 PyYAML 与 jinja2

05

支持 Collection 下的子文件夹索引,但中文文件夹名受 Liquid url_decode 支持情况影响

模板详细介绍

MyBlog 是一个 Jekyll 博客模板,作者将其定位为“用于记笔记的博客模板”,改编自 LessOrMore。它保留 LessOrMore 的基础配置方式,并在此基础上引入 Jekyll 的 Collection 机制:Collection 中的 Markdown 文件可以插入对应 Collection 目录下的图片,弥补普通 _posts 文章不便引用同目录图片的问题。模板还利用 Jekyll 对 frontmatter 的处理方式,让带 frontmatter 的文件经 Liquid 渲染、不带 frontmatter 的文件原样复制到 _site。

配置方面,模板把用户需要修改的配置集中到根目录的 _config_with_python 文件夹:template_config.yml 负责博客元数据,menu_config.yml 负责顶部菜单与 Collection 分组。每次修改这两个文件后需要运行 buildMenu.py 重新生成菜单,该脚本依赖 Python 的 PyYAML 和 jinja2。README 明确说明模板主要供作者自用,未经过打磨,存在瑕疵。

模板支持在 Collection 下建立子文件夹,并依据文章 URL 生成子文件夹索引;由于文件夹名转成 URL 后会变成 ASCII 码,需要 Liquid 的 url_decode 过滤器还原,旧版本 Liquid 不支持该过滤器,中文子文件夹名可能显示为 ASCII 码。模板还提到加入过 Google 站内搜索、Disqus 评论与访问计数。

Jekyll博客

适合你的项目吗?

适用场景

  • 用 Jekyll 搭建以笔记为主的个人博客
  • 按阅读笔记、学术积累等主题用 Collection 分类整理 Markdown 内容
  • 在文章或笔记中引用与源文件同目录的图片
  • 通过 menu_config.yml 配置带下拉分组的顶部菜单

适合人群

  • 熟悉 Jekyll 与 Markdown、愿意手动执行构建脚本的用户
  • 需要把笔记和博客放在同一站点的个人写作者
  • 能接受模板存在瑕疵、以自用为主而非成品主题的用户

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    使用 git clone 下载仓库后,在根目录的 _config_with_python 文件夹中修改 template_config.yml 与 menu_config.yml

  2. 2

    template_config.yml 中的 baseurl 需改为 GitHub 项目名;若项目为 *.github.io 则设为空字符串

  3. 3

    每次修改 template_config.yml 或 menu_config.yml 后必须运行 buildMenu.py,该脚本依赖 PyYAML 和 jinja2

  4. 4

    本地预览可运行 jekyll serve -w -b "",或按 README 提供的脚本以指定端口和增量方式启动

  5. 5

    README 说明模板主要供作者自用、未经过打磨,使用前需自行核对实际效果

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 作者声明该模板为个人自用、未经打磨,存在较多瑕疵,并非成品级主题,使用前需自行核对实际效果。
  • 每次修改 template_config.yml 或 menu_config.yml 后必须运行 buildMenu.py 重新生成菜单,否则配置不生效。
  • 构建菜单脚本依赖 Python 库 PyYAML 和 jinja2,需自行安装这些外部依赖。
  • 子文件夹索引依赖新版 Liquid 的 url_decode 过滤器,旧版 Liquid 不支持,中文子文件夹名可能显示为 ASCII 码。
  • 模板集成了 Google 站内搜索、Disqus 评论与访问计数,这些为第三方外部服务,可能需要相应账号或配置。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

本模板主要是自己捣鼓着用的,没有时间和精力进行打磨,所以有很多瑕疵,不过够自己用了

README 原文

在每次对`template_config.yml`或者`menu_config.yml`进行修改以后必须运行一次`buildMenu.py`

README 原文

`buildMenu.py`依赖于两个Python library:`PyYAML`和`jinja2`

README 原文

这个filter只有新版本的Liquid的支持,如果遇到老版本的Liquid那就不行

README 原文

update:加入谷歌站内搜索 disqus 评论 以及访问计数

README 原文
https://github.com/marquistj13/MyBlog/blob/master/LICENSEhttps://github.com/marquistj13/MyBlog/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料一般 · 72 / 100
技术栈
Jekyll
网站类型
博客
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2023-11-05
截图检查日期
2026-10-02

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Jekyll。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 8f1138a12c44df86d573d51405b691d93f3ffb7182cfd31de0092fcb0017955e

2026-10-02T10:56:45.274Z

来源文件 / 仓库
# 用于记笔记的博客模板

模板来源
====================================
改编自:[LessOrMore](https://github.com/luoyan35714/LessOrMore)

此模板特性
====================================
简单来说是用来记笔记的。
因为post类型的文章使用markdown的时候,不能插入 `_posts` 目录的图片,这一点我感觉不太好,幸好Jekyll还有一种Collection类型的“文章库”,Collection中的md文件可以插入对应Collection目录的图片,再基于Jekyll的一个特性:设置`frontmatter`的文件就用`Liquid`模板渲染一下,没有设置`frontmatter`的文件就原样copy到`_site`目录,因此我打算将其改造成利用Collection进行note-taking的blog。


使用
====================================
**本模板主要是自己捣鼓着用的,没有时间和精力进行打磨,所以有很多瑕疵,不过够自己用了**。
以下为对此捣鼓过程的总结。

下载
------------------------------------

使用git从 [MyBlog](https://github.com/marquistj13/MyBlog) 主页下载项目

``` bash
git clone https://github.com/marquistj13/MyBlog.git
```

配置
------------------------------------
**本模板的所有配置文件均在位于根目录的文件夹 `_config_with_python`中。**

由于本模板改编自 [LessOrMore](https://github.com/luoyan35714/LessOrMore) ,因此基本配置和[LessOrMore](https://github.com/luoyan35714/LessOrMore)相同,即配置根目录的文件`_config.yml`。

**本模板配置不同之处在于:**
用户需要配置的文件不是根目录的`_config.yml`,而是位于根目录的文件夹 `_config_with_python` 中,即`template_config.yml`文件用于设置blog的meta data,详情请参考 [LessOrMore](https://github.com/luoyan35714/LessOrMore)。在此对于本配置文件的修改注意事项进行重申:`template_config.yml`中的baseurl修改为你的github的项目名,如果项目是'***.github.io',则设置为空''

本模板比[LessOrMore](https://github.com/luoyan35714/LessOrMore)增加的特性:collection的配置,即使用使用 `menu_config.yml` 配置blog header的菜单项,举个例子:


```ruby
menus:
- menu_name_cn: 阅读笔记
  menu_name_en: ReadingNotes
  menu_list:
  - Book_NeuralNetworksAndDeepLearning
  - test
- menu_name_cn: 学术积累
  menu_name_en: ScholarThings
  menu_list: [test_scholar]
```

很容易看懂,我就是新建两个下拉菜单项,阅读笔记以及学术积累,阅读笔记的英文名ReadingNotes用于建立文件夹的时候使用,阅读笔记下面一共有两个collection项(分别对应两个文件夹,即Book_NeuralNetworksAndDeepLearnin和test,这俩文件夹下面可以存放对应的笔记,同理,学术积累菜单项下面只有一个collection即test_scholar

**小提示:** 
在每一个collection下面可以放入子文件夹,本模板亦可以根据子文件夹创建此collection下对于子文件夹中的文件的索引目录,这个功能是根据文章的url实现的,主要参考的是 [这篇文章](https://thinkshout.com/blog/2014/12/creating-dynamic-menus-in-jekyll/).但由于文件夹名字转换为url之后变成了ASCII码,因此从url中提取的子文件夹名字得用`Liquid`模板语言的一个filter:`url_decode`,这个filter只有新版本的Liquid的支持,如果遇到老版本的Liquid那就不行,所以,如果你对子文件夹含有中文,列出来的索引目录就是对应的ASCII码,我暂时就这么凑合着用吧,哈哈。

**在每次对`template_config.yml`或者`menu_config.yml`进行修改以后必须运行一次`buildMenu.py`**。
`buildMenu.py`依赖于两个Python library:`PyYAML`和`jinja2`。

**如果在本地安装了Jekyll,就不需要每次push到github去看效果:** 
可以使用`jekyll serve -w -b ""`方便地进行博客的实时预览,这在书写markdown的时候非常有用。

推荐的本地运行脚本
------------------------------------
在 Ubuntu上,保存以下内容为可执行文件,并放到MyBlog的同级文件即可:
```
cd MyBlog
cd _config_with_python
python3 buildMenu.py
cd ../
jekyll serve --port 4000 --incremental

```
在Windows机器上,将以下文件保存为`*.bat`,运行即可:
```
@echo on 
cd C:\Users\marquis\GitHub\MyBlog\_config_with_python
C:\Users\marquis\Anaconda3\python.exe buildMenu.py

cd ..\
bundle exec jekyll serve --port 4000 --incremental
```

注意:现在更新到 python3 了,两个依赖的package:`PyYAML`和`jinja2`。

**关于Python的安装,如果你用的是anaconda3,不想直接像上面的bat脚本那样用默认的环境,要新建一个虚拟环境的话,可以通过以下方式顺便安装两个依赖的Python library:`PyYAML`和`jinja2`**
```
conda -n myblog python=3.6 PyYAML jinja2
```
这样就会在`Anaconda3\envs`目录下生成myblog目录。
由于anaconda不推荐将Python加入环境变量,因此,我们直接用其绝对路径`C:\Users\Marquis\Anaconda3\envs\myblog\python.exe`即可。

至于jekyll的本地安装,请参考:[jekyll安装](https://marquistj13.github.io/MyBlog/2017/02/record-my-system-software-reinstall/#jekyll)。
这里做个备份:
根据[官方](https://jekyllrb.com/docs/windows/#installation)教程,使用[RubyInstaller](https://rubyinstaller.org/) 安装ruby环境。
然后设置为清华的源:[Ruby Gems 镜像使用帮助](https://mirrors.tuna.tsinghua.edu.cn/help/rubygems/)。
执行`gem install jekyll bundler`。
最以后使用以下Gemfile:
```
source 'https://mirrors.tuna.tsinghua.edu.cn/rubygems'
#gem 'github-pages', group: :jekyll_plugins
# gem 'jekyll-feed'
gem 'jekyll-paginate'
gem 'jekyll-sitemap'
gem 'jemoji'
```
在该Gemfile的目录运行 `bundle install`即可。

update:加入谷歌站内搜索 disqus 评论 以及访问计数
------------------------------------
详见:https://marquistj13.github.io/MyBlog/2017/09/blog-search-disqus-comments-visitor-counts/

update:具体安装细节
------------------------------------
详见:https://marquistj13.github.io/MyBlog/2017/01/how-to-use-this-blog-template-to-take-notes/
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。