Compare commits

..

45 Commits

Author SHA1 Message Date
f05cdc55b9 Update critical file(s) according to Chirpy v6.2.3 2023-10-10 04:56:49 +00:00
bcb2c56f84 Update critical file(s) according to Chirpy v6.2.2 2023-09-10 18:40:05 +00:00
c3ef063416 Update critical file(s) according to Chirpy v6.2.1 2023-09-10 16:43:47 +00:00
74bf950ae0 Update critical file(s) according to Chirpy v6.2.0 2023-09-10 13:24:09 +00:00
2605fedb3f Update critical file(s) according to Chirpy v6.1.0 2023-07-02 13:52:03 +00:00
7c3f58dd08 Update critical file(s) according to Chirpy v6.0.1 2023-05-19 16:50:33 +00:00
3c5c4e9733 Update critical file(s) according to Chirpy v6.0.0 2023-05-16 19:05:24 +00:00
918d7a0bba Update critical file(s) according to Chirpy v5.6.1 2023-03-30 21:48:39 +00:00
ff0f0b801e Update critical file(s) according to Chirpy v5.6.0 2023-03-17 18:23:14 +00:00
85116817d1 Update critical file(s) according to Chirpy v5.5.2 2023-02-05 19:18:58 +00:00
afc1abfdd5 Update critical file(s) according to Chirpy v5.5.1 2023-01-29 22:18:12 +00:00
1832a369aa Update critical file(s) according to Chirpy v5.5.0 2023-01-29 21:05:40 +00:00
02a5de7732 Update critical file(s) according to Chirpy v5.4.0 2022-12-27 17:32:37 +00:00
9b2c9badce Update critical file(s) according to Chirpy v5.3.2 2022-11-25 15:03:09 +00:00
d9428918ed Update critical file(s) according to Chirpy v5.3.1 2022-10-25 13:31:31 +00:00
1b74cf9a36 Update critical file(s) according to Chirpy v5.3.0 2022-09-23 13:58:58 +00:00
e6a207db16 Update critical file(s) according to Chirpy v5.2.1 2022-06-17 16:17:19 +00:00
6c8b7ca51f Update critical file(s) according to Chirpy v5.2.0 2022-06-09 10:06:34 +00:00
d1ef8d4273 Update critical file(s) according to Chirpy v5.1.0 2022-02-14 17:30:02 +00:00
3b07fccfc4 Update critical file(s) according to Chirpy v5.0.2 2022-01-07 18:52:12 +00:00
a8cd88041d Update critical file(s) according to Chirpy v5.0.1 2022-01-04 19:50:28 +00:00
fc54bc5574 Update the doc's link in README 2022-01-04 18:58:52 +08:00
bf93d1383d Update critical file(s) according to Chirpy v5.0.0 2022-01-02 16:53:02 +00:00
23942a94b3 Update critical file(s) according to Chirpy v4.3.4 2021-11-29 12:35:47 +00:00
66a784cb71 Update critical file(s) according to Chirpy v4.3.3 2021-10-24 20:18:05 +00:00
b8446c9b7b Update critical file(s) according to Chirpy v4.3.2 2021-10-14 18:13:57 +00:00
479cdc35c7 Update critical file(s) according to Chirpy v4.3.1 2021-10-01 10:58:50 +00:00
ff41859240 Update critical file(s) according to Chirpy v4.3.0 2021-09-29 20:03:26 +00:00
c2a7480e65 Update README 2021-09-26 01:20:50 +08:00
4abf09ed60 Update critical file(s) according to Chirpy v4.2.1 2021-09-16 13:22:01 +00:00
2327ec8d83 Update critical file(s) according to Chirpy v4.2.0 2021-09-15 17:53:28 +00:00
45ff5ba1bf Update critical file(s) according to Chirpy v4.1.1 2021-08-09 08:49:14 +00:00
1d16d381fd Update critical file(s) according to Chirpy v4.1.0 2021-07-21 16:54:21 +00:00
1a82b8970f Update README 2021-07-21 22:33:34 +08:00
d84dd10ca5 Update critical file(s) according to Chirpy v4.0.2 2021-06-23 16:55:07 +00:00
14988e3c10 Update README 2021-06-23 23:26:23 +08:00
53ccb821cb Improve the gitignore 2021-06-04 19:42:36 +08:00
81cfa313af fix usage on Customing Stylesheet 2021-05-11 21:46:25 +08:00
c9806df6fa Update critical file(s) according to Chirpy v4.0.1 2021-05-07 19:36:50 +00:00
67a9ca60de Update critical file(s) according to Chirpy v4.0.0 2021-04-30 06:22:50 +00:00
e6b807ee6f Update README to v4.0.0 2021-04-30 14:08:12 +08:00
15f6f7160c Update critical file(s) according to Chirpy v3.3.0 2021-04-02 08:29:15 +00:00
1d7d7cffac Update the ruby setup in gh-actions 2021-04-01 04:09:47 +08:00
dff8e09089 Update the Gemfile 2021-03-01 19:08:40 +08:00
565ce4422e Fix the license link in readme 2021-02-11 02:58:14 +08:00
25 changed files with 241 additions and 569 deletions

View File

@ -2,10 +2,18 @@ root = true
[*]
charset = utf-8
# 2 space indentation
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
# Unix-style newlines with a newline ending every file
end_of_line = lf
insert_final_newline = true
[*.{js,css,scss}]
quote_type = single
[*.{yml,yaml}]
quote_type = double
[*.md]
trim_trailing_whitespace = false

View File

@ -1,68 +1,73 @@
name: 'Automatic build'
name: "Build and Deploy"
on:
push:
branches:
- main
- master
paths-ignore:
- .gitignore
- README.md
- LICENSE
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
continuous-delivery:
build:
runs-on: ubuntu-latest
env:
GEMS_PATH: ~/vendor/bundle
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0 # for posts's lastmod
fetch-depth: 0
# submodules: true
# If using the 'assets' git submodule from Chirpy Starter, uncomment above
# (See: https://github.com/cotes2020/chirpy-starter/tree/main/assets)
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Setup Ruby
uses: actions/setup-ruby@v1
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
ruby-version: 3
bundler-cache: true
- name: Bundle Caching
uses: actions/cache@v2
with:
path: ${{ env.GEMS_PATH }}
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Bundle Install
run: |
bundle config path ${{ env.GEMS_PATH }}
bundle install --jobs 4 --retry 3
- name: Check baseurl
run: |
baseurl="$(grep '^baseurl:' _config.yml | sed "s/.*: *//;s/['\"]//g;s/#.*//")"
if [[ -n $baseurl ]]; then
echo "BASE_URL=$baseurl" >> $GITHUB_ENV
fi
- name: Build Site
- name: Build site
run: bundle exec jekyll b -d "_site${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
run: |
bundle exec jekyll b -d "_site$BASE_URL"
JEKYLL_ENV: "production"
- name: Test Site
- name: Test site
run: |
bash tools/test.sh
bundle exec htmlproofer _site \
\-\-disable-external=true \
\-\-ignore-urls "/^http:\/\/127.0.0.1/,/^http:\/\/0.0.0.0/,/^http:\/\/localhost/"
- name: Deploy
run: |
if [[ -n $BASE_URL ]]; then
mv _site$BASE_URL _site-rename
rm -rf _site
mv _site-rename _site
fi
- name: Upload site artifact
uses: actions/upload-pages-artifact@v1
with:
path: "_site${{ steps.pages.outputs.base_path }}"
bash tools/deploy.sh
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2

24
.gitignore vendored
View File

@ -1,14 +1,22 @@
# hidden files
.*
!.github
# jekyll cache
_site
# Bundler cache
.bundle
vendor
Gemfile.lock
# rubygem
# Jekyll cache
.jekyll-cache
_site
# RubyGems
*.gem
# npm dependencies
# NPM dependencies
node_modules
package-lock.json
# IDE configurations
.idea
.vscode
# Misc
assets/js/dist

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "assets/lib"]
path = assets/lib
url = https://github.com/cotes2020/chirpy-static-assets.git

1
.nojekyll Normal file
View File

@ -0,0 +1 @@

View File

@ -1,21 +0,0 @@
---
layout: page
title: "404: Page not found"
permalink: /404.html
redirect_from:
- /norobots/
- /assets/
- /posts/
dynamic_title: true
---
<div class="lead">
<p>Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. </p>
<p>
<a href="{{ '/' | relative_url }}">Head back Home</a>
to try finding it again, or search for it on the
<a href="{{ 'archives' | relative_url }}">Archives page</a>.
</p>
</div>

23
Gemfile
View File

@ -1,22 +1,23 @@
# frozen_string_literal: true
source "https://rubygems.org"
gem "jekyll-theme-chirpy"
# If you have any plugins, put them here!
group :jekyll_plugins do
# gem "jekyll-xxx", "~> x.y"
end
gem "jekyll-theme-chirpy", "~> 6.2", ">= 6.2.3"
group :test do
gem "html-proofer", "~> 3.18"
gem "html-proofer", "~> 4.4"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
gem "tzinfo", "~> 1.2"
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end
# # # Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]

View File

@ -1,85 +1,56 @@
# Chirpy Starter
[![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy)](https://rubygems.org/gems/jekyll-theme-chirpy)
[![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy)][gem]&nbsp;
[![GitHub license](https://img.shields.io/github/license/cotes2020/chirpy-starter.svg?color=blue)][mit]
The startup template for [**Jekyll Theme Chirpy**][chirpy].
When installing the [**Chirpy**][chirpy] theme through [RubyGems.org][gem], Jekyll can only read files in the folders
`_data`, `_layouts`, `_includes`, `_sass` and `assets`, as well as a small part of options of the `_config.yml` file
from the theme's gem. If you have ever installed this theme gem, you can use the command
`bundle info --path jekyll-theme-chirpy` to locate these files.
When installing the Chirpy through [RubyGems][gem], Jekyll can only read files in the folders `_includes`, `_layout`, `_sass` and `assets`, as well as a small part of options of the `_config.yml` file from the theme's gem (use the command `bundle info --path jekyll-theme-chirpy` to locate). To fully use all the features of Chirpy, you also need to copy other critical files/directories from the theme's gem to your Jekyll site.
The Jekyll team claims that this is to leave the ball in the users court, but this also results in users not being
able to enjoy the out-of-the-box experience when using feature-rich themes.
To fully use all the features of **Chirpy**, you need to copy the other critical files from the theme's gem to your
Jekyll site. The following is a list of targets:
```shell
# The critical files/directories to run Chirpy theme
├── _data
.
├── _config.yml
├── _plugins
├── _tabs
── _config.yml
├── app.js
├── feed.xml
├── index.html
├── robots.txt
├── sw.js
└── 404.html
── index.html
```
We extracted all the necessary content of **Chirpy** theme's gem to help you quickly use the theme.
To save you time, and also in case you lose some files while copying, we extract those files/configurations of the
latest version of the **Chirpy** theme and the [CD][CD] workflow to here, so that you can start writing in minutes.
## Prerequisites
Follow the instructions in the [Jekyll Docs](https://jekyllrb.com/docs/installation/) to complete the installation of
the basic environment. [Git](https://git-scm.com/) also needs to be installed.
## Installation
[Use this template][usetemplate] to generate a new repository, and then execute:
Sign in to GitHub and [**use this template**][use-template] to generate a brand new repository and name it
`USERNAME.github.io`, where `USERNAME` represents your GitHub username.
[usetemplate]: https://github.com/cotes2020/chirpy-starter/generate
Then clone it to your local machine and run:
```
```console
$ bundle
```
## Usage
### Customing Stylesheet
Creare a new file `/assets/css/style.scss` in your Jekyll site.
And then add the following content:
```scss
---
---
@import {{ site.theme }}
// add your style below
```
### Changing the Number of Tabs
When adding or deleting files in the `_tabs` folder, you need to complete the section [Customing Stylesheet](#customing-stylesheet) first, and then add a new line before `@import`:
```scss
$tab-count: {{ site.tabs | size | plus: 1 }};
```
### Publishing to GitHub Pages
See the `jekyll-theme-chirpy`'s [deployment instructions](https://github.com/cotes2020/jekyll-theme-chirpy#deployment). Note that in order to use GitHub Actions caching to speed up the deployment, you should add the `Gemfile.lock` file to your repository.
### Updating
Please note that files and directories in this project may change as the [`jekyll-theme-chirpy`][chirpy] is updated. When updating, please ensure that the file directory structure of your Jekyll site is the same as that of this project.
And then execute:
```console
$ bundle update jekyll-theme-chirpy
```
## Documentation
See the [theme's docs](https://github.com/cotes2020/jekyll-theme-chirpy#documentation).
Please see the [theme's docs](https://github.com/cotes2020/jekyll-theme-chirpy#documentation).
## License
This work is published under [MIT](mit) License.
This work is published under [MIT][mit] License.
[gem]: https://rubygems.org/gems/jekyll-theme-chirpy
[chirpy]: https://github.com/cotes2020/jekyll-theme-chirpy/
[use-template]: https://github.com/cotes2020/chirpy-starter/generate
[CD]: https://en.wikipedia.org/wiki/Continuous_deployment
[mit]: https://github.com/cotes2020/chirpy-starter/blob/master/LICENSE

View File

@ -3,62 +3,54 @@
# Import the theme
theme: jekyll-theme-chirpy
# Only if your site type is GitHub Project sites and doesn't have a custom domain,
# change below value to '/projectname'.
baseurl: ''
# The language of the webpage http://www.lingoes.net/en/translator/langcode.htm
# If it has the same name as one of the files in folder `_data/locales`, the layout language will also be changed,
# otherwise, the layout language will use the default value of 'en'.
lang: en
# the HTML language tag https://www.w3.org/International/questions/qa-choosing-language-tags
lang: en-US
# Change to your timezone http://www.timezoneconverter.com/cgi-bin/findzone/findzone
timezone: Asia/Shanghai
# Change to your timezone https://kevinnovak.github.io/Time-Zone-Picker
timezone:
# jekyll-seo-tag settings https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
# --------------------------
title: Chirpy # the main title
# --------------------------
tagline: A text-focused Jekyll theme # it will display as the sub-title
title: Chirpy # the main title
description: >- # used by seo meta and the atom feed
A minimal, portfolio, sidebar,
bootstrap Jekyll theme with responsive web design
and focuses on text presentation.
tagline: A text-focused Jekyll theme # it will display as the sub-title
# fill in the protocol & hostname for your site, e.g., 'https://username.github.io'
url: ''
description: >- # used by seo meta and the atom feed
A minimal, responsive and feature-rich Jekyll theme for technical writing.
author: your_full_name # change to your full name
# Fill in the protocol & hostname for your site.
# e.g. 'https://username.github.io', note that it does not end with a '/'.
url: ""
github:
username: github_username # change to your github username
username: github_username # change to your github username
twitter:
username: twitter_username # change to your twitter username
username: twitter_username # change to your twitter username
social:
name: your_full_name # it will shows as the copyright owner in Footer
email: example@doamin.com # change to your email address
# Change to your full name.
# It will be displayed as the default author of the posts and the copyright owner in the Footer
name: your_full_name
email: example@domain.com # change to your email address
links:
# The first element serves as the copyright owner's link
- https://twitter.com/username # change to your twitter homepage
- https://github.com/username # change to your github homepage
- https://twitter.com/username # change to your twitter homepage
- https://github.com/username # change to your github homepage
# Uncomment below to add more social links
# - https://www.facebook.com/username
# - https://www.linkedin.com/in/username
google_site_verification: google_meta_tag_verification # change to your verification string
# --------------------------
google_site_verification: # fill in to your verification string
# ↑ --------------------------
# The end of `jekyll-seo-tag` settings
google_analytics:
id: '' # Fill with your Google Analytics ID
pv:
# The Google Analytics pageviews switch.
# DO NOT enable it unless you know how to deploy the Google Analytics superProxy.
enabled: false
# the next options only valid when `google_analytics.pv` is enabled.
proxy_url: ''
proxy_endpoint: ''
cache: false # pv data local cache, good for the users from GFW area.
id: # fill in your Google Analytics ID
# Prefer color scheme setting.
#
@ -71,32 +63,62 @@ google_analytics:
# light - Use the light color scheme
# dark - Use the dark color scheme
#
theme_mode: # [light|dark]
theme_mode: # [light|dark]
# The CDN endpoint for images.
# Notice that once it is assigned, the CDN url
# will be added to all image (site avatar & posts' images) paths starting with '/'
#
# e.g. 'https://cdn.com'
img_cdn: ''
img_cdn:
# the avatar on sidebar, support local or CORS resources
avatar: https://cdn.jsdelivr.net/gh/cotes2020/chirpy-images/commons/avatar.jpg
avatar:
# boolean type, the global switch for ToC in posts.
# boolean type, the global switch for TOC in posts.
toc: true
disqus:
comments: false # boolean type, the global switch for posts comments.
shortname: '' # Fill with your Disqus shortname. https://help.disqus.com/en/articles/1717111-what-s-a-shortname
comments:
active: # The global switch for posts comments, e.g., 'disqus'. Keep it empty means disable
# The active options are as follows:
disqus:
shortname: # fill with the Disqus shortname. https://help.disqus.com/en/articles/1717111-what-s-a-shortname
# utterances settings https://utteranc.es/
utterances:
repo: # <gh-username>/<repo>
issue_term: # < url | pathname | title | ...>
# Giscus options https://giscus.app
giscus:
repo: # <gh-username>/<repo>
repo_id:
category:
category_id:
mapping: # optional, default to 'pathname'
input_position: # optional, default to 'bottom'
lang: # optional, default to the value of `site.lang`
reactions_enabled: # optional, default to the value of `1`
# Self-hosted static assets, optional https://github.com/cotes2020/chirpy-static-assets
assets:
self_host:
enabled: # boolean, keep empty means false
# specify the Jekyll environment, empty means both
# only works if `assets.self_host.enabled` is 'true'
env: # [development|production]
pwa:
enabled: true # the option for PWA feature
paginate: 10
# The base URL of your site
baseurl: ""
# ------------ The following options are not recommended to be modified ------------------
kramdown:
syntax_highlighter: rouge
syntax_highlighter_opts: # Rouge Options https://github.com/jneen/rouge#full-options
syntax_highlighter_opts: # Rouge Options https://github.com/jneen/rouge#full-options
css_class: highlight
# default_lang: console
span:
@ -105,38 +127,40 @@ kramdown:
line_numbers: true
start_line: 1
# DO NOT change this unless you're a Pro user on Jekyll and Web development,
# Or you think you're smart enough to change other relevant URLs within this template.
permalink: /posts/:title/
collections:
tabs:
output: true
sort_by: order
defaults:
-
scope:
path: '' # An empty string here means all files in the project
- scope:
path: "" # An empty string here means all files in the project
type: posts
values:
layout: post
comments: true # Enable comments in posts.
toc: true # Display TOC column in posts.
-
scope:
comments: true # Enable comments in posts.
toc: true # Display TOC column in posts.
# DO NOT modify the following parameter unless you are confident enough
# to update the code of all other post links in this project.
permalink: /posts/:title/
- scope:
path: _drafts
values:
comments: false
-
scope:
path: ''
type: tabs # see `site.collections`
- scope:
path: ""
type: tabs # see `site.collections`
values:
layout: page
permalink: /:title/
dynamic_title: true # Hide title in mobile screens.
- scope:
path: assets/img/favicons
values:
swcache: true
- scope:
path: assets/js/dist
values:
swcache: true
sass:
style: compressed
@ -151,19 +175,14 @@ compress_html:
envs: [development]
exclude:
- vendor
- Gemfile
- Gemfile.lock
- '*.gem'
- '*.gemspec'
- tools
- "*.gem"
- "*.gemspec"
- docs
- tools
- README.md
- LICENSE
- gulpfile.js
- node_modules
- package.json
- package-lock.json
- rollup.config.js
- package*.json
jekyll-archives:
enabled: [categories, tags]

View File

@ -1,30 +1,28 @@
# The contact options.
-
type: github
icon: 'fab fa-github-alt'
-
type: twitter
icon: 'fab fa-twitter'
-
type: email
icon: 'fas fa-envelope'
noblank: true # open link in current tab
-
type: rss
icon: 'fas fa-rss'
noblank: true
- type: github
icon: "fab fa-github"
- type: twitter
icon: "fa-brands fa-x-twitter"
- type: email
icon: "fas fa-envelope"
noblank: true # open link in current tab
- type: rss
icon: "fas fa-rss"
noblank: true
# Uncomment and complete the url below to enable more contact options
# -
# type: mastodon
#
# - type: mastodon
# icon: 'fab fa-mastodon' # icons powered by <https://fontawesome.com/>
# url: '' # Fill with your mastodon account page
# -
# type: linkedin
# url: '' # Fill with your Mastodon account page, rel="me" will be applied for verification
#
# - type: linkedin
# icon: 'fab fa-linkedin' # icons powered by <https://fontawesome.com/>
# url: '' # Fill with your Linkedin homepage
# -
# type: stack-overflow
#
# - type: stack-overflow
# icon: 'fab fa-stack-overflow'
# url: '' # Fill with your stackoverflow homepage

View File

@ -1,7 +0,0 @@
# The date format
tooltip: "%a, %b %e, %Y, %l:%M %p %z"
post:
long: "%b %e, %Y"
short: "%b %e"

View File

@ -1,19 +0,0 @@
# The label text of site.
panel:
lastmod: Recent Update
trending_tags: Trending Tags
toc: Contents
post:
relate_posts: Further Reading
share: Share
button:
next: Newer
previous: Older
search_hint: Search # text show on search bar
pin_prompt: Pinned # pinned prompt
read_time_unit: min # see posts' time to read

View File

@ -1,11 +0,0 @@
# License data
license:
name: CC BY 4.0
link: "https://creativecommons.org/licenses/by/4.0/"
brief: Some rights reserved.
verbose: >-
Except where otherwise noted, the blog posts on this site are licensed
under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author.

View File

@ -2,26 +2,24 @@
# Icons from <https://fontawesome.com/>
platforms:
-
type: Twitter
icon: "fab fa-twitter"
- type: Twitter
icon: "fa-brands fa-square-x-twitter"
link: "https://twitter.com/intent/tweet?text=TITLE&url=URL"
-
type: Facebook
- type: Facebook
icon: "fab fa-facebook-square"
link: "https://www.facebook.com/sharer/sharer.php?title=TITLE&u=URL"
-
type: Telegram
- type: Telegram
icon: "fab fa-telegram"
link: "https://telegram.me/share?text=TITLE&url=URL"
link: "https://t.me/share/url?url=URL&text=TITLE"
# Uncomment below if you need to.
# -
# type: Linkedin
#
# - type: Linkedin
# icon: "fab fa-linkedin"
# link: "https://www.linkedin.com/sharing/share-offsite/?url=URL"
#
# -
# type: Weibo
# - type: Weibo
# icon: "fab fa-weibo"
# link: "http://service.weibo.com/share/share.php?title=TITLE&url=URL"

View File

@ -1,8 +1,8 @@
---
title: About
icon: fas fa-info
# the default layout is 'page'
icon: fas fa-info-circle
order: 4
---
> **Note**: Add Markdown syntax content to file `_tabs/about.md` and it will show up on this page.
> Add Markdown syntax content to file `_tabs/about.md`{: .filepath } and it will show up on this page.
{: .prompt-tip }

View File

@ -1,7 +1,5 @@
---
layout: archives
title: Archives
icon: fas fa-archive
order: 3
---

View File

@ -1,6 +1,5 @@
---
layout: categories
title: Categories
icon: fas fa-stream
order: 1
---

View File

@ -1,6 +1,5 @@
---
layout: tags
title: Tags
icon: fas fa-tags
order: 2
---

8
app.js
View File

@ -1,8 +0,0 @@
---
layout: compress
---
/* Registering Service Worker */
if('serviceWorker' in navigator) {
navigator.serviceWorker.register('{{ "/sw.js" | relative_url }}');
};

1
assets/lib Submodule

Submodule assets/lib added at 6e3fa73468

View File

@ -1,60 +0,0 @@
---
layout: compress
# Atom Feed, reference: https://validator.w3.org/feed/docs/atom.html
---
{% capture source %}
<feed xmlns="http://www.w3.org/2005/Atom">
<id>{{ "/" | absolute_url }}</id>
<title>{{ site.title }}</title>
<subtitle>{{ site.description }}</subtitle>
<updated>{{ site.time | date_to_xmlschema }}</updated>
<author>
<name>{{ site.author }}</name>
<uri>{{ "/" | absolute_url }}</uri>
</author>
<link rel="self" type="application/atom+xml" href="{{ page.url | absolute_url }}"/>
<link rel="alternate" type="text/html" hreflang="{{ site.lang | default: 'en' }}"
href="{{ '/' | absolute_url }}"/>
<generator uri="https://jekyllrb.com/" version="{{ jekyll.version }}">Jekyll</generator>
<rights> © {{ 'now' | date: '%Y' }} {{ site.author }} </rights>
<icon>{{ site.baseurl }}/assets/img/favicons/favicon.ico</icon>
<logo>{{ site.baseurl }}/assets/img/favicons/favicon-96x96.png</logo>
{% for post in site.posts limit: 5 %}
{% assign post_absolute_url = post.url | absolute_url %}
<entry>
<title>{{ post.title }}</title>
<link href="{{ post_absolute_url }}" rel="alternate" type="text/html" title="{{ post.title }}" />
<published>{{ post.date | date_to_xmlschema }}</published>
{% if post.last_modified_at %}
<updated>{{ post.last_modified_at | date_to_xmlschema }}</updated>
{% else %}
<updated>{{ post.date | date_to_xmlschema }}</updated>
{% endif %}
<id>{{ post_absolute_url }}</id>
<content src="{{ post_absolute_url }}" />
<author>
<name>{{ site.author }}</name>
</author>
{% if post.categories %}
{% for category in post.categories %}
<category term="{{ category }}" />
{% endfor %}
{% endif %}
{% if post.summary %}
<summary>{{ post.summary | strip }}</summary>
{% else %}
<summary>
{% include no-linenos.html content=post.content %}
{{ content | strip_html | truncate: 400 }}
</summary>
{% endif %}
</entry>
{% endfor %}
</feed>
{% endcapture %}
{{ source | replace: '&', '&amp;' }}

View File

@ -1,10 +0,0 @@
---
permalink: robots.txt
# The robots rules
---
User-agent: *
Disallow: /norobots/
Sitemap: {{ '/sitemap.xml' | absolute_url }}

61
sw.js
View File

@ -1,61 +0,0 @@
---
layout: compress
# PWA service worker
---
self.importScripts('{{ "/assets/js/data/cache-list.js" | relative_url }}');
var cacheName = 'chirpy-{{ "now" | date: "%Y%m%d.%H%M" }}';
function isExcluded(url) {
const regex = /(^http(s)?|^\/)/; /* the regex for CORS url or relative url */
for (const rule of exclude) {
if (!regex.test(url) ||
url.indexOf(rule) != -1) {
return true;
}
}
return false;
}
self.addEventListener('install', (e) => {
self.skipWaiting();
e.waitUntil(
caches.open(cacheName).then((cache) => {
return cache.addAll(include);
})
);
});
self.addEventListener('fetch', (e) => {
e.respondWith(
caches.match(e.request).then((r) => {
/* console.log('[Service Worker] Fetching resource: ' + e.request.url); */
return r || fetch(e.request).then((response) => {
return caches.open(cacheName).then((cache) => {
if (!isExcluded(e.request.url)) {
/* console.log('[Service Worker] Caching new resource: ' + e.request.url); */
cache.put(e.request, response.clone());
}
return response;
});
});
})
);
});
self.addEventListener('activate', (e) => {
e.waitUntil(
caches.keys().then((keyList) => {
return Promise.all(keyList.map((key) => {
if(key !== cacheName) {
return caches.delete(key);
}
}));
})
);
});

View File

@ -1,73 +0,0 @@
#!/usr/bin/env bash
#
# Deploy the content of _site to 'origin/<pages_branch>'
set -eu
PAGES_BRANCH="gh-pages"
_no_branch=false
_backup_dir="$(mktemp -d)"
init() {
if [[ -z ${GITHUB_ACTION+x} ]]; then
echo "ERROR: This script is not allowed to run outside of GitHub Action."
exit -1
fi
# Gemfile could be changed by `bundle install` in actions workflow
if [[ -n $(git ls-files | grep Gemfile.lock) && -n \
$(git status Gemfile.lock --porcelain) ]]; then
git checkout -- Gemfile.lock
fi
if [[ -z $(git branch -av | grep "$PAGES_BRANCH") ]]; then
_no_branch=true
git checkout -b "$PAGES_BRANCH"
else
git checkout "$PAGES_BRANCH"
fi
}
backup() {
mv _site/* "$_backup_dir"
mv .git "$_backup_dir"
# When adding custom domain from Github website,
# the CANME only exist on `gh-pages` branch
if [[ -f CNAME ]]; then
mv CNAME "$_backup_dir"
fi
}
flush() {
rm -rf ./*
rm -rf .[^.] .??*
shopt -s dotglob nullglob
mv "$_backup_dir"/* .
}
deploy() {
git config --global user.name "GitHub Actions"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git update-ref -d HEAD
git add -A
git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
if $_no_branch; then
git push -u origin "$PAGES_BRANCH"
else
git push -f
fi
}
main() {
init
backup
flush
deploy
}
main

View File

@ -1,67 +0,0 @@
#!/usr/bin/env bash
#
# Using HTML-proofer to test site.
#
# Requirement: https://github.com/gjtorikian/html-proofer
#
# Usage: bash /path/to/test.sh [indicated path]
DEST=_site
URL_IGNORE=cdn.jsdelivr.net
_build=false
help() {
echo "Usage:"
echo
echo " bash ./tools/test.sh [options]"
echo
echo "Options:"
echo " --build Run Jekyll build before test."
echo " -d, --dir <path> Specify the test path."
echo " -h, --help Print this information."
}
if [[ -n $1 && -d $1 ]]; then
DEST=$1
fi
while (($#)); do
opt="$1"
case $opt in
--build)
_build=true
shift
;;
-d | --dir)
if [[ ! -d $2 ]]; then
echo -e "Error: path '$2' doesn't exist\n"
help
exit 1
fi
DEST=$2
shift
shift
;;
-h | --help)
help
exit 0
;;
*)
# unknown option
help
exit 1
;;
esac
done
if $_build; then
JEKYLL_ENV=production bundle exec jekyll b
fi
bundle exec htmlproofer "$DEST" \
--disable-external \
--check-html \
--empty_alt_ignore \
--allow_hash_href \
--url_ignore $URL_IGNORE