Personal Website Source Code
Find a file
2019-11-24 23:54:27 +08:00
_data Redesign sidebar for xlarge screens. 2019-11-20 01:50:55 +08:00
_includes Add animation to ToC. 2019-11-24 23:54:27 +08:00
_layouts Lazy load the image of posts. 2019-11-24 17:38:41 +08:00
_posts Update Docs. 2019-11-20 01:56:14 +08:00
_scripts Improved the runtime synch monitor. 2019-11-20 01:51:16 +08:00
assets Add animation to ToC. 2019-11-24 23:54:27 +08:00
tabs Change arrow direction in Categories page. 2019-11-23 00:51:55 +08:00
.gitignore Initial import 2019-09-30 20:32:24 +08:00
.travis.yml Import travis config. 2019-11-16 01:54:04 +08:00
404.html Import the framework. 2019-11-18 01:08:03 +08:00
_config.yml Added more comment details in Config. 2019-11-20 01:50:55 +08:00
build.sh Improved the assistant scripts. 2019-11-20 01:50:55 +08:00
feed.xml Import the framework. 2019-11-18 01:08:03 +08:00
Gemfile Import the framework. 2019-11-18 01:08:03 +08:00
index.html Import the framework. 2019-11-18 01:08:03 +08:00
init.sh Improved the init tool. 2019-11-20 01:50:55 +08:00
LICENSE Import the framework. 2019-11-18 01:08:03 +08:00
pv.sh Import the framework. 2019-11-18 01:08:03 +08:00
README.md Update Docs. 2019-11-20 01:56:14 +08:00
robots.txt Import the framework. 2019-11-18 01:08:03 +08:00
run.sh Make realtime updating in runtime to be optional. 2019-11-20 01:51:16 +08:00
search.json Import the framework. 2019-11-18 01:08:03 +08:00
sitemap.xml Import the framework. 2019-11-18 01:08:03 +08:00

Jekyll Theme Chirpy

Build Status GitHub license 996.icu

devices-mockup

A Jekyll theme with responsive web design that focuses on text presentation. Hope you like it! Live Demo »

Features

  • Last modified date
  • Table of Contents
  • Disqus Comments
  • Syntax highlighting
  • Two Level Categories
  • Search
  • HTML compress
  • Atom feeds
  • Google Analytics
  • Pageviews (Advanced)

Getting Started

Preparation

Follow the Jekyll Docs to complete the installtion of basic environment (Ruby, RubyGem, Bundler and Jekyll). In addition, to use the funny script tools, we also need to install Python(version 3.5 or abover) and ruamel.yaml.

Next, fork Chirpy and then clone your replicated repository locally.

Install Jekyll Plugins

Go to root directory of the repository and run the following:

$ bundle install

bundle will install all the dependent Jekyll Plugins listed in file Gemfile automatically.

File Structure

The main files and related brief introductions are listed below.

jekyll-theme-chirpy/
├── _data
├── _includes      
├── _layouts
├── _posts          # posts stay here
├── _scripts
├── assets      
├── tabs
│   └── about.md    # the ABOUT page
├── .gitignore
├── .travis.yml     # remove it
├── 404.html
├── Gemfile
├── LICENSE
├── README.md
├── _config.yml     # configuration file
├── build.sh        # script tool
├── run.sh          # script tool
├── init.sh         # script tool
├── pv.sh           
├── feed.xml
├── index.html
├── robots.txt
├── search.json
└── sitemap.xml

Configuration

Customize the variables in file _config.yml as needed.

Atom Feed

The Atom feed url of your site will be:

<SITE_URL>/feed.xml

The SITE_URL was defined by variable url in file _config.yml.

Run Locally

You may want to preview the site before publishing, so just run the script tool:

$ bash run.sh

Note

: The Recent Update list requires the latest git-log date of posts, thus make sure the changes in _posts have been committed before running this command.

Open a brower and visit http://localhost:4000.

Few days later, you may find that the file changes does not refresh in real time by using run.sh. Don't worry, the advanced option -r (or --realtime) will solve this problem, but it requires fswatch to be installed on your machine.

Deploying to GitHub Pages

Before the deployment begins, ensure the url in _config.yml has been set to https://<username>.github.io.

Option 1: Built by GitHub Pages

By deploying your site in this way, you can push the source code to GitHub repository directly.

Note

: If you want to add any third-party Jekyll plugins or custom scripts to your project, please refer to Option 2: Build locally.

1. Rename your repository as <username>.github.io.

2. Commit the changes of your repository, then run the initialization script:

$ bash init.sh

It will automatically generates the Latest Modified Date and Categories / Tags page for the posts.

3. Push the changes to origin/master then go to GitHub website and enable GitHub Pages service for the repository <username>.github.io.

4. Visit https://<username>.github.io and enjoy.

Option 2: Build Locally

For security reasons, GitHub Pages runs on safe mode, which means the third-party Jekyll plugins or custom scripts will not work. If you want to use any another third-party Jekyll plugins, your have to build locally rather than on GitHub Pages.

1. On GitHub website, create a brand new repository with name <username>.github.io and then clone it locally.

2. Build your site by:

$ bash build.sh -d /path/to/<username>.github.io/

The build results will be stored in the root directory of <username>.github.io and don't forget to push the changes of <username>.github.io to branch master on GitHub.

3. Go to GitHub website and enable GitHub Pages service for the new repository <username>.github.io.

4. Visit https://<username>.github.io and enjoy.

Documentation

For more information, please see the tutorial. In the meanwhile, a copy of the tutorial is also available on the Wiki.

License

This work is published under MIT License.