兼容 GitHub Pages,可直接通过 fork 仓库并改名来发布站点
Lagrange — Jekyll 博客模板
作者 LeNPaul
Lagrange 是一个面向个人博客的 Jekyll 主题,可部署在 GitHub Pages 或自有服务器上,以极简排版让内容成为焦点。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
支持 Jekyll 内置 Sass/SCSS 预处理器与 _data 数据文件,便于定制
内置 Disqus 评论与 Google Analytics 统计支持,需自行配置账号
通过 MathJax 支持 LaTeX 数学公式,并提供代码语法高亮
提供 post 与 page 两种主要布局,以及首页和归档页的自定义布局
生成 RSS 2.0 订阅文件,并包含社交媒体图标与相关文章
模板详细介绍
Lagrange 是一个 Jekyll 主题,用于搭建个人博客或站点,可免费托管在 GitHub Pages 上,也可部署到自己的服务器。主题以极简设计为出发点,链接主要用下划线标识,减少视觉干扰,让阅读集中在正文。
功能方面,主题兼容 GitHub Pages,支持 Jekyll 内置的 Sass/SCSS 预处理器与数据文件,便于调整样式和站点设置;提供 Google Analytics 统计、Disqus 评论、MathJax 公式渲染、代码语法高亮和 RSS 订阅。站点配置集中在 _config.yml 与 _data/settings.yml,菜单页面放在 menu 目录,文章放在 _posts 目录并按 YYYY-MM-DD-name-of-post.md 命名。
使用限制:主题本身不提供后台管理界面,内容维护依赖 GitHub 网页编辑器或本地 Jekyll 环境;评论、统计、公式渲染分别依赖 Disqus、Google Analytics、MathJax 等外部服务,需要自行注册并填写对应标识。演示图片、字体、图标等第三方素材的许可需单独核对,不能仅凭代码的 MIT 许可判断。
适合你的项目吗?
适用场景
- 搭建以文字为主的个人博客,并希望托管在 GitHub Pages 上
- 写技术笔记或教程,需要在文章中插入数学公式和代码块
- 维护一个包含关于、联系等固定页面的个人站点
- 已有 Jekyll 站点,希望迁移文章到更简洁的主题
适合人群
- 熟悉或愿意学习 Jekyll 与 Markdown 的个人博主
- 希望用 GitHub 仓库直接管理内容、不依赖数据库的用户
- 偏好极简排版、以阅读体验优先的写作者
- 需要公式渲染与代码高亮的技术内容作者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
GitHub Pages 方式:fork 仓库并重命名为 USERNAME.github.io,确保存在 gh-pages 分支,再编辑 _data/settings.yml
- 2
本地方式:下载仓库后运行 bundle install,再运行 jekyll serve,站点默认在 localhost:4000
- 3
站点标题、描述、作者等设置修改根目录的 _config.yml,菜单、社交信息、Disqus 与 Google Analytics 开关在 _data/settings.yml
- 4
文章放入 _posts 目录,文件名遵循 YYYY-MM-DD-name-of-post.md,并填写 layout、title、author、categories、tags、image 等 front matter
- 5
启用 Disqus 评论需在 _data/settings.yml 中打开 disqus.comments,并填写对应 shortname;Google Analytics 需填写自己的跟踪 ID
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 启用 Disqus 评论需自行注册 Disqus 账号并为网站创建 profile,获取 disqus_shortname 后填入配置,属于外部服务依赖。
- 使用 Google Analytics 统计需自行注册 Google Analytics 账号并填写跟踪 ID,属于外部服务依赖。
- 社交图标来自 Font Awesome,其许可需单独核对,不随主题的 MIT 代码许可一并授予。
- 演示图片来自 Death to Stock、图标来自 Font Awesome,这些第三方素材许可需单独核对,不能仅凭代码 MIT 许可判断。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
If you do not have a Disqus account already, you will have to set one up, and create a profile for your website.
README 原文
you will have to create an account for Google Analytics, and enter the correct Google ID for your site
README 原文
All social media icons are courtesy of [Font Awesome](http://fontawesome.io/).
README 原文
https://github.com/LeNPaul/Lagrange/blob/gh-pages/LICENSE.mdhttps://github.com/LeNPaul/Lagrange/blob/gh-pages/README.md### Icons + Demo Images * [Death to Stock](https://deathtothestockphoto.com/) * [Font Awesome](http://fontawesome.io/)
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 76 / 100
- 技术栈
- Jekyll
- 网站类型
- 博客
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2024-08-06
- 截图检查日期
- 2026-10-01
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Jekyll。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 21f1a229db62b671d32d9d4fb18264ec39c1cf101da2a6df2cab76e30f620282
2026-10-01T14:41:38.428Z
来源文件 / 仓库# Lagrange
Lagrange is a minimalist Jekyll theme for running a personal blog or site for free through [Github Pages](https://pages.github.com/), or on your own server. Everything that you will ever need to know about this Jekyll theme is included in the README below, which you can also find in [the demo site](https://lenpaul.github.io/Lagrange/). For a guide on how to deploy a Jekyll site using GitHub Pages, please check out [this article](https://paulle.ca/jekyll-tutorials/deploy-jekyll-site-github-pages).
If you like my work then please consider supporting me with [Ko-fi](https://ko-fi.com/paulle).

## Notable features
* Compatible with GitHub Pages.
* Support for Jekyll's built-in Sass/SCSS preprocessor and data files for making customizing easier.
* [Google Analytics](https://www.google.com/analytics/) support.
* Commenting support powered by [Disqus](https://disqus.com/).
* Optimized for search engines.
* LaTeX support through [MathJax](https://www.mathjax.org/).
## Table of Contents
1. [Introduction](#introduction)
1. [What is Jekyll](#what-is-jekyll)
2. [Never Used Jeykll Before?](#never-used-jekyll-before)
2. [Installation](#installation)
1. [GitHub Pages Installation](#github-pages-installation)
2. [Local Installation](#local-installation)
3. [Directory Structure](#directory-structure)
4. [Starting From Scratch](#starting-from-scratch)
3. [Configuration](#configuration)
1. [Sample Posts](#sample-posts)
2. [Site Variables](#site-variables)
3. [Adding Menu Pages](#adding-menu-pages)
4. [Posts](#posts)
5. [Layouts](#layouts)
6. [YAML Front Block Matter](#yaml-front-block-matter)
4. [Features](#features)
1. [Design Considerations](#design-considerations)
2. [Disqus](#disqus)
3. [Google Analytics](#google-analytics)
4. [RSS Feeds](#rss-feeds)
5. [Social Media Icons](#social-media-icons)
6. [MathJax](#mathjax)
7. [Syntax Highlighting](#syntax-highlighting)
8. [Markdown](#markdown)
5. [Everything Else](#everything-else)
6. [Contributing](#Contributing)
7. [Questions?](#questions)
8. [Credits](#credits)
9. [License](#license)
## Introduction
Lagrange is a Jekyll theme that was built to be 100% compatible with [GitHub Pages](https://pages.github.com/). If you are unfamiliar with GitHub Pages, you can check out [their documentation](https://help.github.com/categories/github-pages-basics/) for more information. [Jonathan McGlone's guide](http://jmcglone.com/guides/github-pages/) on creating and hosting a personal site on GitHub is also a good resource.
### What is Jekyll?
Jekyll is a simple, blog-aware, static site generator for personal, project, or organization sites. Basically, Jekyll takes your page content along with template files and produces a complete website. For more information, visit the [official Jekyll site](https://jekyllrb.com/docs/home/) for their documentation. Codecademy also offers a great course on [how to deploy a Jekyll site](https://www.codecademy.com/learn/deploy-a-website) for complete beginners.
### Never Used Jekyll Before?
The beauty of hosting your website on GitHub is that you don't have to actually have Jekyll installed on your computer. Everything can be done through the GitHub code editor, with minimal knowledge of how to use Jekyll or the command line. All you have to do is add your posts to the `_posts` directory and edit the `_config.yml` file to change the site settings. With some rudimentary knowledge of HTML and CSS, you can even modify the site to your liking. This can all be done through the GitHub code editor, which acts like a content management system (CMS).
## Installation
### GitHub Pages Installation
To start using Jekyll right away with GitHub Pages, [fork the Lagrange repository on GitHub](https://github.com/LeNPaul/Lagrange/fork). From there, you can rename your repository to `USERNAME.github.io`, where `USERNAME` is your GitHub username, and edit the `settings.yml` file in the `_data` folder to your liking. Ensure that you have a branch named `gh-pages`. Your website should be ready immediately at 'http://USERNAME.github.io'. Note: if you are hosting several sites under the same GitHub username, then you will have to use [Project Pages instead of User Pages](https://help.github.com/articles/user-organization-and-project-pages/) - just change the repository name to something other than 'http://USERNAME.github.io'.
Head over to the `_posts` directory to view all the posts that are currently on the website, and to see examples of what post files generally look like. You can simply just duplicate the template post and start adding your own content.
### Local Installation
For a full local installation of Lagrange, [download your own copy of Lagrange](https://github.com/LeNPaul/Lagrange/archive/gh-pages.zip) and unzip it into it's own directory. From there, open up your favorite command line tool, enter `bundle install`, and then enter `jekyll serve`. Your site should be up and running locally at [http://localhost:4000](http://localhost:4000).
### Directory Structure
If you are familiar with Jekyll, then the Lagrange directory structure shouldn't be too difficult to navigate. The following some highlights of the differences you might notice between the default directory structure. More information on what these folders and files do can be found in the [Jekyll documentation site](https://jekyllrb.com/docs/structure/).
```bash
Lagrange/
├── _data # Data files
| └── settings.yml # Theme settings and custom text
├── _includes # Theme includes
├── _layouts # Theme layouts (see below for details)
├── _posts # Where all your posts will go
├── assets # Style sheets and images are found here
| ├── css # Style sheets go here
| | └── main.css # Main CSS file
| | └── syntax.css # Style sheet for code syntax highlighting
| └── img # Images go here
├── menu # Menu pages
├── _config.yml # Site build settings
├── Gemfile # Ruby Gemfile for managing Jekyll plugins
├── index.md # Home page
├── LICENSE.md # License for this theme
├── README.md # Includes all of the documentation for this theme
└── rss-feed.xml # Generates RSS 2.0 file which Jekyll points to
```
### Starting From Scratch
To completely start from scratch, simply delete all the files in the `_posts`, `assets/img`, and `menu` folder, and add your own content. You may also replace the `README.md` file with your own README. Everything in the `_data` folder and `_config.yml` file can be edited to suit your needs. You may also change the `favicon.ico` file to your own favicon.
## Configuration
### Sample Posts
Visit the [the demo site](https://lenpaul.github.io/Lagrange/) to find sample posts that show what different types of text formatting look like. You can find these posts in the `_posts` folder, which show what the best practices for setting up your own site are.
### Site Variables
To change site build settings, edit the `_config.yml` file found in the root of your repository, which you can tweak however you like. More information on configuration settings and plugins can be found on [the Jekyll documentation site](https://jekyllrb.com/docs/configuration/). This is also where you will be able to customize the title, description, and the author/owner of your site.
If you are hosting your site on GitHub Pages, then committing a change to the `_config.yml` file will force a rebuild of your site with Jekyll. Any changes made should be viewable soon after. If you are hosting your site locally, then you must run `jekyll serve` again for the changes to take place.
In the `settings.yml` file found in the `_data` folder, you will be able to customize your site settings, such as setting Disqus comments, Google Analytics, what shows up in your menu, and social media information.
### Adding Menu Pages
The menu pages are found in the `menu` folder in the root directory, and can be added to your menu in the `settings.yml` file.
### Posts
You will find example posts in your `_posts` directory. Go ahead and edit any post and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
To add new posts, simply add a file in the `_posts` directory that follows the convention of `YYYY-MM-DD-name-of-post.md` and includes the necessary front matter. Take a look at any sample post to get an idea about how it works. If you already have a website built with Jekyll, simply copy over your posts to migrate to Lagrange.
### Layouts
There are two main layout options that are included with Lagrange: post and page. Layouts are specified through the [YAML front block matter](https://jekyllrb.com/docs/frontmatter/). Any file that contains a YAML front block matter will be processed by Jekyll. For example:
```
---
layout: post
title: "Example Post"
---
```
Examples of what posts looks like can be found in the `_posts` directory, which includes this post you are reading right now. Posts are the basic blog post layout, which includes a header image, post content, author name, date published, social media sharing links, and related posts.
Pages are essentially the post layout without any of the extra features of the posts layout. An example of what pages look like can be found at the [About](https://lenpaul.github.io/Lagrange/menu/about.html) and [Contacts](https://lenpaul.github.io/Lagrange/menu/contact.html).
In addition to the two main layout options above, there are also custom layouts that have been created for the [home page](https://lenpaul.github.io/Lagrange/) and the [archives page](https://lenpaul.github.io/Lagrange/menu/writing.html). These are simply just page layouts with some [Liquid template code](https://shopify.github.io/liquid/). Check out the `index.html` file in the root directory for what the code looks like.
### YAML Front Block Matter
The recommended YAML front block is:
```
---
layout:
title:
author:
categories:
tags: []
image:
---
```
`layout` specifies which layout to use, `title` is the page or post title, `categories` can be used to better organize your posts, `tags` are used when generating related posts based on the topic of the post, and `image` specifies which images to use. Have a look at some posts in the `_posts` directory to see how these variables are set.
## Features
### Design Considerations
Lagrange was designed to be a minimalist theme in order for the focus to remain on your content. For example, links are signified mainly through an underline text-decoration, in order to maximize the perceived affordance of clickability (I originally just wanted to make the links a darker shade of grey).
### Disqus
Lagrange supports comments at the end of posts through [Disqus](https://disqus.com/). In order to activate Disqus commenting, set `disqus.comments` to true in the `_data/settings.yml` file. If you do not have a Disqus account already, you will have to set one up, and create a profile for your website. You will be given a `disqus_shortname` that will be used to generate the appropriate comments sections for your site. More information on [how to set up Disqus](http://www.perfectlyrandom.org/2014/06/29/adding-disqus-to-your-jekyll-powered-github-pages/).
### Google Analytics
It is possible to track your site statistics through [Google Analytics](https://www.google.com/analytics/). Similar to Disqus, you will have to create an account for Google Analytics, and enter the correct Google ID for your site under `google-ID` in the `settings.yml` file. More information on [how to set up Google Analytics](https://michaelsoolee.com/google-analytics-jekyll/). Note: If you are not using Google Analytics, please change `google-ID` to an empty string.
### RSS Feeds
Atom is supported by default through [jekyll-feed](https://github.com/jekyll/jekyll-feed). With jekyll-feed, you can set configuration variables such as 'title', 'description', and 'author', in the `_config.yml` file.
RSS 2.0 is also supported through [RSS auto-discovery](http://www.rssboard.org/rss-autodiscovery). The `rss-feed.xml` file (based on the template found at [jekyll-rss-feeds](https://github.com/snaptortoise/jekyll-rss-feeds)) that the feed path points to when using RSS 2.0 is automatically generated based on the appropriate configuration variables found in `_data/settings.yml`.
To use RSS 2.0, ensure the following is done:
* Uncomment the last two lines in the `_config.yml` file.
* In `_data/settings.yml`, under 'social', comment out the rss-square that points to `feed.xml`, and uncomment the rss-square that points to `rss-feed.xml`.
* In `_includes/head.html`, comment out `{% feed_meta %}` and uncomment the line under the RSS 2.0 comment.
### Social Media Icons
All social media icons are courtesy of [Font Awesome](http://fontawesome.io/). You can change which icons appear, as well as the account that they link to, in the `settings.yml` file in the `_data` folder.
### MathJax
Lagrange comes out of the box with [MathJax](https://www.mathjax.org/), which allows you to display mathematical equations in your posts through the use of [LaTeX](http://www.andy-roberts.net/writing/latex/mathematics_1).
### Syntax Highlighting
Lagrange provides syntax highlighting through [fenced code blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/). Syntax highlighting allows you to display source code in different colors and fonts depending on what programming language is being displayed. You can find the full list of supported programming languages [here](https://github.com/jneen/rouge/wiki/List-of-supported-languages-and-lexers). Another option is to embed your code through [Gist](https://en.support.wordpress.com/gist/).
### Markdown
As always, Jekyll offers support for GitHub Flavored Markdown, which allows you to format your posts using the [Markdown syntax](https://guides.github.com/features/mastering-markdown/). Examples of these text formatting features can be seen below. You can find this post in the `_posts` directory as well as the `README.md` file.
## Everything Else
Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll's GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
[jekyll-docs]: http://jekyllrb.com/docs/home
[jekyll-gh]: https://github.com/jekyll/jekyll
[jekyll-talk]: https://talk.jekyllrb.com/
## Contributing
If you would like to make a feature request, or report a bug or typo in the documentation, then please [submit a GitHub issue](https://github.com/LeNPaul/Lagrange/issues/new). If you would like to make a contribution, then feel free to [submit a pull request](https://help.github.com/articles/about-pull-requests/) - as a bonus, I will credit all contributors below! If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
Lagrange has been designed as a base for users to customize and fit to their own unique needs. Please keep this in mind when requesting features and/or submitting pull requests. Some examples of changes that I would love to see are things that would make the site easier to use, or better ways of doing things. Please avoid changes that do not benefit the majority of users.
## Questions?
This theme is completely free and open source software. You may use it however you want, as it is distributed under the [MIT License](http://choosealicense.com/licenses/mit/). If you are having any problems, any questions or suggestions, feel free to [tweet at me](https://twitter.com/intent/tweet?text=My%question%about%Lagrange%is:%&via=paululele), or [file a GitHub issue](https://github.com/lenpaul/lagrange/issues/new).
## Credits
### Creator
#### Paul Le
* [www.lenpaul.com](http://lenpaul.com)
* [Twitter](https://twitter.com/paululele)
* [GitHub](https://github.com/LeNPaul)
### Contributors
* [nikolalukovic](https://github.com/nikolalukovic)
* [gmemstr](https://github.com/gmemstr)
* [lynn9388](https://github.com/lynn9388)
* [robqiao](https://github.com/robqiao)
* [Mauladen](https://github.com/Mauladen)
* [dhanus](https://github.com/dhanus)
* [mlewand](https://github.com/mlewand)
* [Hguimaraes](https://github.com/Hguimaraes)
* [ilhamadun](https://github.com/ilhamadun)
* [brianclemens](https://github.com/brianclemens)
* [leyhline](https://github.com/leyhline)
* [aritra24](https://github.com/aritra24)
* [DuckSoft](https://github.com/DuckSoft)
* [larrylawl](https://github.com/larrylawl)
* [borting](https://github.com/borting)
### Icons + Demo Images
* [Death to Stock](https://deathtothestockphoto.com/)
* [Font Awesome](http://fontawesome.io/)
### Other
* [Jekyll](https://jekyllrb.com/)
* [Free Code Camp](https://www.freecodecamp.org)
* [Khan Academy](https://www.khanacademy.org/)
## License
Open sourced under the [MIT license](https://github.com/LeNPaul/Lagrange/blob/gh-pages/LICENSE.md).
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

al-folio
al-folio 是一个面向学者与研究人员的 Jekyll 作品集主题,设计简洁、响应式,适合搭建个人学术主页。
Jekyll · 作品集

minimal-mistakes
:triangular_ruler: Jekyll theme for building a personal site, blog, project documentation, or portfolio.
Jekyll · 作品集

Beautiful Jekyll
Beautiful Jekyll 是一个在 Jekyll 生态中经过长期打磨的博客主题,由 Dean Attali 维护,自 2015 年起积累了超过 5 万用户。
Jekyll · 博客

jekyll-TeXt-theme
💎 🐳 A super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc.
Jekyll · 博客

startbootstrap-clean-blog-jekyll
A Jekyll version of the Clean Blog theme by Start Bootstrap
Jekyll · 博客

So Simple
So Simple 是 Michael Rose 开发的 Jekyll 主题,定位清晰:为文字和图片提供一个干净、可读性强的展示框架。
Jekyll · 博客
