Updated Docs.

This commit is contained in:
Cotes Chung 2020-01-04 17:05:41 +08:00
parent 34836f7703
commit a812ded9cd
8 changed files with 355 additions and 62 deletions

2
.github/FUNDING.yml vendored
View file

@ -1 +1 @@
custom: ['https://www.buymeacoffee.com/6wOkxTo', 'https://cotes.gitee.io/alipay-wechat-donation']
custom: ['https://www.buymeacoffee.com/coteschung', 'https://cotes.gitee.io/alipay-wechat-donation']

108
README.md
View file

@ -2,16 +2,21 @@
[![Build Status](https://travis-ci.com/cotes2020/jekyll-theme-chirpy.svg?branch=master)](https://travis-ci.com/cotes2020/jekyll-theme-chirpy)
[![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy.svg)](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE)
[![996.icu](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu)
[![996.icu](https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg)](https://996.icu)
English | [中文](README_zh-CN.md)
![devices-mockup](https://raw.githubusercontent.com/cotes2020/jekyll-theme-chirpy/master/assets/img/sample/devices-mockup.png)
A minimal, portfolio, sidebar, bootstrap Jekyll theme with responsive web design and focuses on text presentation. Hope you like it! [Live Demo »](https://chirpy.cotes.info)
A minimal, portfolio, sidebar, bootstrap Jekyll theme with responsive web design and focuses on text exhibition. It will help you easily record, manage and share your knowledge and experience. Hope you like it! [**Live Demo** »](https://chirpy.cotes.info)
## Features
* Auto Dark Mode
* Posts' Last Modified Date
* Table of Contents
* Recommand Related Post Automatically
* Disqus Comments
* Syntax highlighting
* Two Level Categories
@ -23,18 +28,18 @@ A minimal, portfolio, sidebar, bootstrap Jekyll theme with responsive web design
* SEO Tag
* Performance Optimization
## Getting Started
## Quick Start
### Preparation
Follow the [Jekyll Docs](https://jekyllrb.com/docs/installation/) 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](https://www.python.org/downloads/)(version 3.5 or abover) and [ruamel.yaml](https://pypi.org/project/ruamel.yaml/).
Next, [fork](https://github.com/cotes2020/jekyll-theme-chirpy/fork) **Chirpy** and then clone your replicated repository locally.
Next, [fork](https://github.com/cotes2020/jekyll-theme-chirpy/fork) **Chirpy** and then clone your forked repo locally.
### Install Jekyll Plugins
Go to root directory of the repository and run the following:
Go to the root of repo and run:
```terminal
$ bundle install
@ -56,7 +61,7 @@ jekyll-theme-chirpy/
├── _scripts
│ └── travis # CI stuff, remove it
├── .travis.yml # remove this, too
├── .github # remove
├── .github # remove it
├── assets
├── tabs
│   └── about.md # the ABOUT page
@ -74,20 +79,34 @@ jekyll-theme-chirpy/
```
As mentioned above, some files or directories should be removed from your repo:
- .travis.yml
- .github
- _scripts/travis
### Configuration
Customize the variables in file `_config.yml` as needed.
* Avatar
The sample avatar is `/assets/img/sample/avatar.jpg`. It should be replaced by your own one. Notice that a huge image file will increase the load time of your site, so keep your avatar size as samll as possible(may be *<https://tinypng.com/>* will help).
### Atom Feed
* TimeZone
The Atom feed url of your site will be:
To ensure that the posts' release date matches the city you live in, please modify the field `timezone` correctly. A list of all available values can be found on [TimezoneConverter](http://www.timezoneconverter.com/cgi-bin/findzone/findzone) or [Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
```
<SITE_URL>/feed.xml
```
* Atom Feed
The `SITE_URL` was defined by variable `url` in file `_config.yml`.
The Atom feed url of your site will be:
```
<SITE_URL>/feed.xml
```
The `SITE_URL` was defined by variable `url` of `_config.yml`.
### Run Locally
@ -104,53 +123,84 @@ 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**](http://emcrisostomo.github.io/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`.
Before the deployment begins, ensure the `url` in file `_config.yml` has been set to `https://<username>.github.io`(or the custom domain, if you have. e.g. `https://yourdomain.com`).
#### Option 1: Built by GitHub Pages
By deploying your site in this way, you can push the source code to GitHub repository directly.
By deploying the site in this way, you're allowed to push the source code directly to the remote.
> **Note**: If you want to add any third-party Jekyll plugins or custom scripts to your project, please refer to [*Option 2: Build locally*](#option-2-build-locally).
> **Note**: If you want to use any third-party Jekyll plugins that not in [this list](https://pages.github.com/versions/), stop reading the current approach and go to [*Option 2: Build locally*](#option-2-build-locally).
**1**. Rename your repository as `<username>.github.io`.
**1**. Rename the repository to:
**2**. Commit the changes of your repository, then run the initialization script:
|Site Type | Repo's Name|
|:---|:---|
|User or Organization | `<username>.github.io`|
|Project| any one except `<username>.github.io`, let's say `project`|
**2**. Commit the changes of the repo first, then run the initialization script:
```console
$ bash tools/init.sh
```
It will automatically generates the *Latest Modified Date* and *Categories / Tags* page for the posts.
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`.
**3**. Push the changes to `origin/master` then go to GitHub website and enable GitHub Pages service for the repo.
**4**. Visit `https://<username>.github.io` and enjoy.
**4**. Check it out:
|Site Type | Site URL |
|:---|:---|
|User or Organization | `https://<username>.github.io/`|
|Project| `https://<username>.github.io/project/`|
#### 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**.
For security reasons, GitHub Pages runs on `safe` mode, which means the third-party Jekyll plugins or custom scripts won't work. If you want to use any another plugins that not in the [whitelist](https://pages.github.com/versions/), **you have to generate the site 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.
**1**. Browse to GitHub website, create a brand new repo named:
**2**. Build your site by:
|Site Type | Repo's Name|
|:---|:---|
|User or Organization | `<username>.github.io`|
|Project| any one except `<username>.github.io`, let's say `project`|
and clone it.
**2**. In the root of the source project, build your site by:
```console
$ bash tools/build.sh -d /path/to/<username>.github.io/
$ bash tools/build.sh -d /path/to/local/project/
```
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.
If you prefer to the Project site, change `baseurl` of file `_config.yml` to your project name, starting with a slash. e.g. `/project`. Or, simply add argument `-b /project` behide the command above.
**3**. Go to GitHub website and enable GitHub Pages service for the new repository `<username>.github.io`.
The generated static files will be placed in the root of `/path/to/local/project`. Commit and push the changes to the `master` branch on GitHub.
**3**. Go to GitHub website and enable Pages service for the new repository.
**4**. Visit at:
|Site Type | Site URL |
|:---|:---|
|User or Organization | `https://<username>.github.io/`|
|Project| `https://<username>.github.io/project/`|
and enjoy!
**4**. Visit `https://<username>.github.io` and enjoy.
## Documentation
For more information, please see the [tutorial](https://chirpy.cotes.info/categories/tutorial/). In the meanwhile, a copy of the tutorial is also available on the [Wiki](https://github.com/cotes2020/jekyll-theme-chirpy/wiki).
For more information, please check out the [tutorial](https://chirpy.cotes.info/categories/tutorial/). In the meanwhile, a copy of the tutorial is also available on the [Wiki](https://github.com/cotes2020/jekyll-theme-chirpy/wiki).
## Sponsor
Want to buy me a coffee? Click the button <kbd>Sponsor</kbd> at the top of the [Home Page](https://github.com/cotes2020/jekyll-theme-chirpy) and choose a link that suits you to donate. I'd really appreciate it and take it as encouragement to work on better projects.
## License

206
README_zh-CN.md Normal file
View file

@ -0,0 +1,206 @@
# Jekyll Theme Chirpy
[![Build Status](https://travis-ci.com/cotes2020/jekyll-theme-chirpy.svg?branch=master)](https://travis-ci.com/cotes2020/jekyll-theme-chirpy)
[![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy.svg)](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE)
[![996.icu](https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg)](https://996.icu)
[English](README.md) | 中文
![devices-mockup](https://raw.githubusercontent.com/cotes2020/jekyll-theme-chirpy/master/assets/img/sample/devices-mockup.png)
一个不一样的 Jekyll 主题,采用响应式设计,方便记录、管理、分享你的知识和经验。[**在线 Demo** »](https://chirpy.cotes.info)
## 功能预览
* 自动暗夜模式
* 文章最后修改日期
* 文章目录
* 自动推荐相关文章
* Disqus 评论
* 语法高亮
* 二级目录
* 搜索
* HTML 压缩
* Atom 订阅
* Google 分析
* 浏览数展示(高级功能)
* SEO 优化
* 网站性能优化
## 开始
### 准备工作
按照 [Jekyll 官方文档](https://jekyllrb.com/docs/installation/) 完成基础环境的安装 (Ruby, RubyGem, Bundler 和 Jekyll)。为了使用项目内免费提供的脚本工具,你还需要安装 [Python](https://www.python.org/downloads/)( >= 3.5) 和 [ruamel.yaml](https://pypi.org/project/ruamel.yaml/).
接着,[fork](https://github.com/cotes2020/jekyll-theme-chirpy/fork) 一份代码,然后克隆你的 Fork 版到本地机器上。
### 安装 Jekyll 插件
在根目录下运行:
```terminal
$ bundle install
```
`bundle` 命令会自动安装 `Gemfile` 内声明的依赖插件.
### 文件目录
下面是主要的文件目录:
```sh
jekyll-theme-chirpy/
├── _data
├── _includes
├── _layouts
├── _posts # posts stay here
├── _scripts
│ └── travis # CI stuff, remove it
├── .travis.yml # remove this, too
├── .github # remove it
├── assets
├── tabs
│   └── about.md # the ABOUT page
├── .gitignore
├── 404.html
├── Gemfile
├── LICENSE
├── README.md
├── _config.yml # configuration file
├── tools # script tools
├── feed.xml
├── index.html
├── robots.txt
└── sitemap.xml
```
你需要将以下文件或目录删除:
- .travis.yml
- .github
- _scripts/travis
### 配置文件
根据个人需要去修改 `_config.yml` 的变量,大部分都有注释介绍用法。
* 头像
示例的头像文件放置在:`/assets/img/sample/avatar.jpg`. 把它换成你自己的头像,路径不限定,越小越好。(压缩图像体积可上这个网站:*<https://tinypng.com/>* ).
* 时区
时区由 `timezone` 定义,默认为 `亚洲/上海`,如果肉身翻墙要换城市可在此列表找到: [TimezoneConverter](http://www.timezoneconverter.com/cgi-bin/findzone/findzone) 或者 [Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
* Atom 订阅
Atom 订阅路径是:
```
<SITE_URL>/feed.xml
```
`SITE_URL` 由变量 `url` 定义。
### 本地运行
使用以下工具可轻松运行:
```terminal
$ bash tools/run.sh
```
>**注**: *最后更新* 列表根据文章的 git 修改记录生成, 所以运行前先把 `_posts` 目录的修改提交.
访问本地服务: <http://localhost:4000>
如果你想在本地服务运行后,把修改源文件的更改实时刷新,可使用选项 `-r` (或 `--realtime`),不过要先安装依赖 [**fswatch**](http://emcrisostomo.github.io/fswatch/) 。
### 部署到 GitHub Pages
部署开始前,把 `_config.yml``url` 改为 `https://<username>.github.io`(或者你的私有域名,如:`https://yourdomain.com`).
#### 方法 1: 由 GitHub Pages 生成站点
依照本方法,你可以直接把源码推送到远端仓库。
> **注**: 如果你想使用任何不在这个[列表](https://pages.github.com/versions/)上的插件,越过此方法,直接看 [*方法 2: 本地构建*](#方法-2-本地构建).
**1**. 仓库改名为:
|站点类型 | 仓库名称|
|:---|:---|
|User or Organization | `<username>.github.io`|
|Project| `<username>.github.io` 以外的名字, 譬如 `project`|
**2**. 提交本地更改, 然后运行:
```console
$ bash tools/init.sh
```
它会自动生成文章的 *最后修改日期**分类 / 标签* 页面.
**3**. 推送到 `origin/master` 然后到 GitHub 网页为该项目开启 Pages 服务。
**4**. 网站将运行在:
|站点类型 | 网站 URL |
|:---|:---|
|User or Organization | `https://<username>.github.io/`|
|Project| `https://<username>.github.io/project/`|
#### 方法 2: 本地构建
由于安全原因GitHub Pages 不允许第三方插件运行,如果你想突破规则,就要本地构建站点内容。
**1**. 到 GitHub 网页, 创建一个新的仓库,根据以下规则命名:
|站点类型 | 仓库名称|
|:---|:---|
|User or Organization | `<username>.github.io`|
|Project| `<username>.github.io` 以外的名字, 例如 `project`|
然后 Clone 新仓库到本地。
**2**. 构建站点:
```console
$ bash tools/build.sh -d /path/to/local/project/
```
> `project` 为新仓库名称。
如果你想使用 Project 网站, 修改配置文件的 `baseurl` 为项目名称, 以斜杠开头,如:`/project`。或者,在上述命令行后面加参数`-b /project``project` 替换为新仓库名称。
生成的静态文件将会在 `/path/to/local/project`. 把新仓库的修改提交并推送到远端 `master` 分支.
**3**. 回到 GithHub 网页,为该仓库开启 Pages 服务。
**4**. 网站将运行在:
|站点类型 | 站点 URL |
|:---|:---|
|User or Organization | `https://<username>.github.io/`|
|Project| `https://<username>.github.io/project/`|
## 文档
更多细节及更佳的阅读体验, 请参阅 [线上教程](https://chirpy.cotes.info/categories/tutorial/)。 与此同时, [Wiki](https://github.com/cotes2020/jekyll-theme-chirpy/wiki) 也有一份教程的拷贝.
## 赞助
想要打赏作者吗?在 [项目主页](https://github.com/cotes2020/jekyll-theme-chirpy) 点击按钮 <kbd>Sponsor</kbd> 选择 *支付宝、微信* 链接 <https://cotes.gitee.io/alipay-wechat-donation> 即可完成,您的打赏将会鼓励作者去更好地完成开源项目!
## License 许可
本项目开源,基于 [MIT](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE) 许可。

View file

@ -58,7 +58,7 @@ Click the hook will locate the footnote[^footnote].
## Image
![Desktop View](/assets/img/sample/mockup.png)
![Desktop View]({{ "/assets/img/sample/mockup.png" | relative_url }})
## Inline code

View file

@ -24,10 +24,6 @@ tags: [TAG]
> **Note**: The posts' ***layout*** has been set to `post` by default, so there is no need to add the variable ***layout*** in Front Matter block.
- **The TimeZone of Date**
To ensure that the posts' release date matches the city you live in, please modify the value of `timezone` in the file `_config.yml`. A list of all available values can be found on [TimezoneConverter](http://www.timezoneconverter.com/cgi-bin/findzone/findzone) or [Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
- **Categories and Tags**
The `categories` of each post is designed to contain up to two elements, and the number of elements in `tag` can be zero or infinite.

View file

@ -9,12 +9,12 @@ tags: [getting started]
Follow the [Jekyll Docs](https://jekyllrb.com/docs/installation/) 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](https://www.python.org/downloads/)(version 3.5 or abover) and [ruamel.yaml](https://pypi.org/project/ruamel.yaml/).
Next, [fork](https://github.com/cotes2020/jekyll-theme-chirpy/fork) **Chirpy** and then clone your replicated repository locally.
Next, [fork](https://github.com/cotes2020/jekyll-theme-chirpy/fork) **Chirpy** and then clone your forked repo locally.
## Install Jekyll Plugins
Go to root directory of the repository and run the following:
Go to the root of repo and run:
```terminal
$ bundle install
@ -36,7 +36,7 @@ jekyll-theme-chirpy/
├── _scripts
│ └── travis # CI stuff, remove it
├── .travis.yml # remove this, too
├── .github # remove
├── .github # remove it
├── assets
├── tabs
│   └── about.md # the ABOUT page
@ -54,20 +54,34 @@ jekyll-theme-chirpy/
```
As mentioned above, some files or directories should be removed from your repo:
- .travis.yml
- .github
- _scripts/travis
## Configuration
Customize the variables in file `_config.yml` as needed.
* Avatar
The sample avatar is `/assets/img/sample/avatar.jpg`. It should be replaced by your own one. Notice that a huge image file will increase the load time of your site, so keep your avatar size as samll as possible(may be *<https://tinypng.com/>* will help).
## Atom Feed
* TimeZone
The Atom feed url of your site will be:
To ensure that the posts' release date matches the city you live in, please modify the field `timezone` correctly. A list of all available values can be found on [TimezoneConverter](http://www.timezoneconverter.com/cgi-bin/findzone/findzone) or [Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
```
<SITE_URL>/feed.xml
```
* Atom Feed
The `SITE_URL` was defined by variable `url` in file `_config.yml`.
The Atom feed url of your site will be:
```
<SITE_URL>/feed.xml
```
The `SITE_URL` was defined by variable `url` of `_config.yml`.
## Run Locally
@ -86,43 +100,70 @@ Few days later, you may find that the file changes does not refresh in real time
## Deploying to GitHub Pages
Before the deployment begins, ensure the `url` in `_config.yml` has been set to `https://<username>.github.io`.
Before the deployment begins, ensure the `url` in file `_config.yml` has been set to `https://<username>.github.io`(or the custom domain, if you have. e.g. `https://yourdomain.com`).
### Option 1: Built by GitHub Pages
By deploying your site in this way, you can push the source code to GitHub repository directly.
By deploying the site in this way, you're allowed to push the source code directly to the remote.
> **Note**: If you want to add any third-party Jekyll plugins or custom scripts to your project, please refer to [*Option 2: Build locally*](#option-2-build-locally).
> **Note**: If you want to use any third-party Jekyll plugins that not in [this list](https://pages.github.com/versions/), stop reading the current approach and go to [*Option 2: Build locally*](#option-2-build-locally).
**1**. Rename your repository as `<username>.github.io`.
**1**. Rename the repository to:
**2**. Commit the changes of your repository, then run the initialization script:
|Site Type | Repo's Name|
|:---|:---|
|User or Organization | `<username>.github.io`|
|Project| any one except `<username>.github.io`, let's say `project`|
**2**. Commit the changes of the repo first, then run the initialization script:
```console
$ bash tools/init.sh
```
It will automatically generates the *Latest Modified Date* and *Categories / Tags* page for the posts.
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`.
**3**. Push the changes to `origin/master` then go to GitHub website and enable GitHub Pages service for the repo.
**4**. Visit `https://<username>.github.io` and enjoy.
**4**. Check it out:
|Site Type | Site URL |
|:---|:---|
|User or Organization | `https://<username>.github.io/`|
|Project| `https://<username>.github.io/project/`|
### 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**.
For security reasons, GitHub Pages runs on `safe` mode, which means the third-party Jekyll plugins or custom scripts won't work. If you want to use any another plugins that not in the [whitelist](https://pages.github.com/versions/), **you have to generate the site 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.
**1**. Browse to GitHub website, create a brand new repo named:
**2**. Build your site by:
|Site Type | Repo's Name|
|:---|:---|
|User or Organization | `<username>.github.io`|
|Project| any one except `<username>.github.io`, let's say `project`|
and clone it.
**2**. In the root of the source project, build your site by:
```console
$ bash tools/build.sh -d /path/to/<username>.github.io/
$ bash tools/build.sh -d /path/to/local/project/
```
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.
> If you prefer to the Project site, change `baseurl` of file `_config.yml` to your project name, starting with a slash. e.g. `/project`. Or, simply add argument `-b /project` behide the command above.
**3**. Go to GitHub website and enable GitHub Pages service for the new repository `<username>.github.io`.
The generated static files will be placed in the root of `/path/to/local/project`. Commit and push the changes to the `master` branch on GitHub.
**4**. Visit `https://<username>.github.io` and enjoy.
**3**. Go to GitHub website and enable Pages service for the new repository.
**4**. Visit at:
|Site Type | Site URL |
|:---|:---|
|User or Organization | `https://<username>.github.io/`|
|Project| `https://<username>.github.io/project/`|
and enjoy!

View file

@ -10,11 +10,11 @@ In [**Chirpy**](https://github.com/cotes2020/jekyll-theme-chirpy/), the image fi
Whit a square image (PNG, JPG or GIF) in hand, open the site [*Favicon & App Icon Generator*](https://www.favicon-generator.org/) and upload your original image.
![upload-image](/assets/img/sample/upload-image.png)
![upload-image]({{ "/assets/img/sample/upload-image.png" | relative_url }})
Click button <kbd>Create Favicon</kbd> and wait a moment for the website to generate the icons of various sizes automatically.
![download-icons](/assets/img/sample/download-icons.png)
![download-icons]({{ "/assets/img/sample/download-icons.png" | relative_url }})
Download the generated package, unzip and delete the following two from the extracted files:
@ -23,4 +23,4 @@ Download the generated package, unzip and delete the following two from the extr
Now, copy the rest image files (`.PNG` and `.ICO`) to cover the original one in folder `assets/img/favicons/`.
At last, don't forget to rebuild your site so that the icon becomes your custom edition.
Lastly, don't forget to rebuild your site so that the icon becomes your custom edition.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

After

Width:  |  Height:  |  Size: 230 KiB