A Jekyll template based on Future Imperfect.
Due to Jekyll's limitations and inactivity, the project has been deprecated and the next instance will be developed based on VitePress
I really like its style, but the Jekyll templates for it on GitHub aren't practical enough, so I made this repo.
Windows 11 22H2 (x64) / Ubuntu 23.10 (x64)
Ruby 3.2.2 (Windows) / Ruby 3.1.2p20 (Ubuntu)
Jekyll 4.3.2
Bundle 2.5.1
Gem 3.5.1
simple-jekyll-search 1.10.0
git clone
or downloading the zip file.gem
apt install ruby ruby-dev gem -y # Ubuntu, other linux distributions please install manually
gem install bundler jekyll # Install Jekyll and its basic components.
# Install dependencies
bundle install
_config.yml
, make it meet your needs.It is recommended to run
jekyll serve
locally before deployment to check for any issues.
_posts
folder)<username>.github.io
Pages
and click it.Source
option, select Action
Configuration
button for GitHub Pages Jekyll
on the redirected page.yml
file, which you can add without modification.https://<username>.github.io
.Even if you are already familiar with Jekyll, it is recommended to review this section. Some modifications have been made to this part based on the requirements of Future-Imperfect and Jekyll-Feed, which may be different from the usual Jekyll templates.
In this project, a typical Front Matter is shown below:
---
layout: post
title: "Test"
description: "This is a test article"
author: "Your name"
date: 2023-07-05 10:00:00 +0800
image: "/images/test_cover.jpg"
stick: true
tags:
- test
- article
category: test
mathjax: true
mermaid: false
---
The following is an explanation of each field, fields marked as [optional] can be left blank or deleted directly (the absence of this field is allowed).
layout
: [Required]Layout style, please fill in post to indicate that this article should use the "post" layout.title
: [Required]Title of this article.description
: [Optional]Description of this article.author
: [Optional]Author, when left blank or deleted, it will display the username
field in _config.yml
; if provided and different from username
, it will use the content you provide.date
: [Required]Publication date, please follow the format in the example. The +0800
at the end indicates the GMT+8 time zone (Beijing time).image
: [Optional]Cover image of the article, when left blank or deleted, the default cover image /images/default_cover.jpg will be used.stick
: [Optional]Whether to pin it to the left side of the homepage. Leaving it blank or deleting it is equivalent to false
. It is not recommended to have too many articles pinned.tags
: [Optional]Tags, used for filtering articles, multiple tags are allowed.category
: [Optional]Category, used for filtering articles. It can only be one category.mathjax
: [Optional]Whether to enable MathJax rendering. If not configured, it will follow the global configuration (mathjax.enable
) in _config.yml
.mermaid
: [Optional]Whether to enable rendering of mermaid charts. If not configured, it will follow the global configuration (jekyll-mermaid.enable
) in _config.yml
.This issue has been resolved, refer to Notes item 1 for details.
Filters > Annoyances > Web Annoyances Ultralist
). This rule can cause certain styles to be overridden by the browser's default styles, leading to abnormal page styling.jpg
format, but jpg
is not the best solution for web -- it has good compatibility, but low compression ratio. You may consider using webp
instead of jpg
, which is a newer format with better compression ratio.default_cover_path
in the config.yml
.Source Sans Pro
font is loaded via Google Fonts' CDN, but Google's CDN is usually unstable in China. If you deploying it in China, you may consider using other CDNs or downloading font file to your local machine for use.The origin project is open source under the CCA 3.0 license (Creative Cloud Attribution)
Future Imperfect by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
It's been a long time coming, but I've finally gotten around to creating a brand new
blog-style template (and the first since Striped, which came out waaaaay back in 2013).
Anyway, Future Imperfect features a clean, expansive layout, a toggleable search box,
and -- because pretty much all modern browsers can use it now -- a whole lot of flexbox
action. Enjoy it :)
Demo images* courtesy of Unsplash, a radtastic collection of CC0 (public domain) images
you can use for pretty much whatever.
(* = not included)
AJ
<[email protected]> | @ajlkn
Credits:
Demo Images:
Unsplash (unsplash.com)
Icons:
Font Awesome (fortawesome.github.com/Font-Awesome)
Other:
jQuery (jquery.com)
html5shiv.js (@afarkas @jdalton @jon_neal @rem)
Misc. Sass functions (@HugoGiraudel)
Respond.js (j.mp/respondjs)
Skel (skel.io)