Compare commits

..

36 Commits

Author SHA1 Message Date
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
25 changed files with 225 additions and 541 deletions

View File

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

View File

@ -1,53 +1,71 @@
name: 'Automatic build' name: "Build and Deploy"
on: on:
push: push:
branches: branches:
- main - main
- master
paths-ignore: paths-ignore:
- .gitignore - .gitignore
- README.md - README.md
- LICENSE - LICENSE
jobs: # Allows you to run this workflow manually from the Actions tab
continuous-delivery: workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: 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 - name: Setup Ruby
uses: ruby/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: 2.7 ruby-version: 3 # reads from a '.ruby-version' or '.tools-version' file if 'ruby-version' is omitted
bundler-cache: true bundler-cache: true
- name: Check baseurl - name: Build site
run: | run: bundle exec jekyll b -d "_site${{ steps.pages.outputs.base_path }}"
baseurl="$(grep '^baseurl:' _config.yml | sed "s/.*: *//;s/['\"]//g;s/#.*//")"
if [[ -n $baseurl ]]; then
echo "BASE_URL=$baseurl" >> $GITHUB_ENV
fi
- name: Build Site
env: env:
JEKYLL_ENV: production JEKYLL_ENV: "production"
run: |
bundle exec jekyll b -d "_site$BASE_URL"
- name: Test Site - name: Test site
run: | run: |
bash tools/test.sh bundle exec htmlproofer _site --disable-external --check-html --allow_hash_href
- name: Deploy - name: Upload site artifact
run: | uses: actions/upload-pages-artifact@v1
if [[ -n $BASE_URL ]]; then with:
mv _site$BASE_URL _site-rename path: "_site${{ steps.pages.outputs.base_path }}"
rm -rf _site
mv _site-rename _site
fi
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@v1

23
.gitignore vendored
View File

@ -1,15 +1,22 @@
# hidden files # Bundler cache
.* .bundle
!.github
# bundler cache
_site
vendor vendor
Gemfile.lock Gemfile.lock
# rubygem # Jekyll cache
.jekyll-cache
_site
# RubyGems
*.gem *.gem
# npm dependencies # NPM dependencies
node_modules node_modules
package-lock.json 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>

24
Gemfile
View File

@ -1,11 +1,8 @@
# frozen_string_literal: true
source "https://rubygems.org" source "https://rubygems.org"
gem "jekyll-theme-chirpy", "~> 3.3" gem "jekyll-theme-chirpy", "~> 6.0", ">= 6.0.1"
group :jekyll_plugins do
# If you have any plugins, put them here!
# gem "jekyll-xxx", "~> x.y"
end
group :test do group :test do
gem "html-proofer", "~> 3.18" gem "html-proofer", "~> 3.18"
@ -13,10 +10,19 @@ end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library. # and associated library.
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", "~> 1.2" gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data" gem "tzinfo-data"
end end
# Performance-booster for watching directories on Windows # Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? 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]
# Lock jekyll-sass-converter to 2.x on Linux-musl
if RUBY_PLATFORM =~ /linux-musl/
gem "jekyll-sass-converter", "~> 2.0"
end

View File

@ -1,33 +1,30 @@
# Chirpy Starter # Chirpy Starter [![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy)](https://rubygems.org/gems/jekyll-theme-chirpy) [![GitHub license](https://img.shields.io/github/license/cotes2020/chirpy-starter.svg?color=blue)][mit]
[![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy)](https://rubygems.org/gems/jekyll-theme-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.
[![GitHub license](https://img.shields.io/github/license/cotes2020/chirpy-starter.svg?color=blue)][mit]
The startup template for [**Jekyll Theme Chirpy**][chirpy]. 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.
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. 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 ```shell
# The critical files/directories to run Chirpy theme .
├── _data ├── _config.yml
├── _plugins ├── _plugins
├── _tabs ├── _tabs
── _config.yml ── index.html
├── app.js
├── feed.xml
├── index.html
├── robots.txt
├── sw.js
└── 404.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 ## 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:
``` ```
$ bundle $ bundle
@ -35,46 +32,7 @@ $ bundle
## Usage ## Usage
### Customing Stylesheet Please see the [theme's docs](https://github.com/cotes2020/jekyll-theme-chirpy#documentation).
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 [deployment instructions](https://github.com/cotes2020/jekyll-theme-chirpy#deployment) of `jekyll-theme-chirpy`.
### 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).
## License ## License
@ -82,4 +40,6 @@ This work is published under [MIT][mit] License.
[gem]: https://rubygems.org/gems/jekyll-theme-chirpy [gem]: https://rubygems.org/gems/jekyll-theme-chirpy
[chirpy]: https://github.com/cotes2020/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 [mit]: https://github.com/cotes2020/chirpy-starter/blob/master/LICENSE

View File

@ -3,29 +3,30 @@
# Import the theme # Import the theme
theme: jekyll-theme-chirpy theme: jekyll-theme-chirpy
# Only if your site type is GitHub Project sites and doesn't have a custom domain, # Change the following value to '/PROJECT_NAME' ONLY IF your site type is GitHub Pages Project sites
# change below value to '/projectname'. # and doesn't have a custom domain.
baseurl: '' baseurl: ""
# the HTML language tag https://www.w3.org/International/questions/qa-choosing-language-tags # The language of the webpage http://www.lingoes.net/en/translator/langcode.htm
lang: en-US # 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
# Change to your timezone http://www.timezoneconverter.com/cgi-bin/findzone/findzone # Change to your timezone http://www.timezoneconverter.com/cgi-bin/findzone/findzone
timezone: Asia/Shanghai timezone:
# jekyll-seo-tag settings https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md # jekyll-seo-tag settings https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
# -------------------------- # --------------------------
title: Chirpy # the main title title: Chirpy # the main title
tagline: A text-focused Jekyll theme # it will display as the sub-title tagline: A text-focused Jekyll theme # it will display as the sub-title
description: >- # used by seo meta and the atom feed description: >- # used by seo meta and the atom feed
A minimal, portfolio, sidebar, A minimal, responsive and feature-rich Jekyll theme for technical writing.
bootstrap Jekyll theme with responsive web design
and focuses on text presentation.
# fill in the protocol & hostname for your site, e.g., 'https://username.github.io' # fill in the protocol & hostname for your site, e.g., 'https://username.github.io'
url: '' url: ""
github: github:
username: github_username # change to your github username username: github_username # change to your github username
@ -37,7 +38,7 @@ social:
# Change to your full name. # Change to your full name.
# It will be displayed as the default author of the posts and the copyright owner in the Footer # It will be displayed as the default author of the posts and the copyright owner in the Footer
name: your_full_name name: your_full_name
email: example@doamin.com # change to your email address email: example@domain.com # change to your email address
links: links:
# The first element serves as the copyright owner's link # The first element serves as the copyright owner's link
- https://twitter.com/username # change to your twitter homepage - https://twitter.com/username # change to your twitter homepage
@ -46,19 +47,17 @@ social:
# - https://www.facebook.com/username # - https://www.facebook.com/username
# - https://www.linkedin.com/in/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: google_analytics:
id: '' # Fill with your Google Analytics ID id: # fill in your Google Analytics ID
# Google Analytics pageviews report settings
pv: pv:
# The Google Analytics pageviews switch. proxy_endpoint: # fill in the Google Analytics superProxy endpoint of Google App Engine
# DO NOT enable it unless you know how to deploy the Google Analytics superProxy. cache_path: # the local PV cache data, friendly to visitors from GFW region
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.
# Prefer color scheme setting. # Prefer color scheme setting.
# #
@ -78,17 +77,44 @@ theme_mode: # [light|dark]
# will be added to all image (site avatar & posts' images) paths starting with '/' # will be added to all image (site avatar & posts' images) paths starting with '/'
# #
# e.g. 'https://cdn.com' # e.g. 'https://cdn.com'
img_cdn: '' img_cdn:
# the avatar on sidebar, support local or CORS resources # 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 toc: true
disqus: comments:
comments: false # boolean type, the global switch for posts comments. active: # The global switch for posts comments, e.g., 'disqus'. Keep it empty means disable
shortname: '' # Fill with your Disqus shortname. https://help.disqus.com/en/articles/1717111-what-s-a-shortname # 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 paginate: 10
@ -105,38 +131,40 @@ kramdown:
line_numbers: true line_numbers: true
start_line: 1 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: collections:
tabs: tabs:
output: true output: true
sort_by: order sort_by: order
defaults: defaults:
- - scope:
scope: path: "" # An empty string here means all files in the project
path: '' # An empty string here means all files in the project
type: posts type: posts
values: values:
layout: post layout: post
comments: true # Enable comments in posts. comments: true # Enable comments in posts.
toc: true # Display TOC column in posts. toc: true # Display TOC column in posts.
- # DO NOT modify the following parameter unless you are confident enough
scope: # to update the code of all other post links in this project.
permalink: /posts/:title/
- scope:
path: _drafts path: _drafts
values: values:
comments: false comments: false
- - scope:
scope: path: ""
path: ''
type: tabs # see `site.collections` type: tabs # see `site.collections`
values: values:
layout: page layout: page
permalink: /:title/ 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: sass:
style: compressed style: compressed
@ -151,19 +179,15 @@ compress_html:
envs: [development] envs: [development]
exclude: exclude:
- vendor - "*.gem"
- Gemfile - "*.gemspec"
- Gemfile.lock
- '*.gem'
- '*.gemspec'
- tools - tools
- docs
- README.md - README.md
- CHANGELOG.md
- LICENSE - LICENSE
- gulpfile.js - rollup.config.js
- node_modules - node_modules
- package.json - package*.json
- package-lock.json
jekyll-archives: jekyll-archives:
enabled: [categories, tags] enabled: [categories, tags]

View File

@ -1,30 +1,28 @@
# The contact options. # The contact options.
- - type: github
type: github icon: "fab fa-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: 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
# Uncomment and complete the url below to enable more contact options # 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/> # icon: 'fab fa-mastodon' # icons powered by <https://fontawesome.com/>
# url: '' # Fill with your mastodon account page # url: '' # Fill with your Mastodon account page, rel="me" will be applied for verification
# - #
# type: linkedin # - type: linkedin
# icon: 'fab fa-linkedin' # icons powered by <https://fontawesome.com/> # icon: 'fab fa-linkedin' # icons powered by <https://fontawesome.com/>
# url: '' # Fill with your Linkedin homepage # url: '' # Fill with your Linkedin homepage
# - #
# type: stack-overflow # - type: stack-overflow
# icon: 'fab fa-stack-overflow' # icon: 'fab fa-stack-overflow'
# url: '' # Fill with your stackoverflow homepage # 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/> # Icons from <https://fontawesome.com/>
platforms: platforms:
- - type: Twitter
type: Twitter
icon: "fab fa-twitter" icon: "fab fa-twitter"
link: "https://twitter.com/intent/tweet?text=TITLE&url=URL" link: "https://twitter.com/intent/tweet?text=TITLE&url=URL"
-
type: Facebook - type: Facebook
icon: "fab fa-facebook-square" icon: "fab fa-facebook-square"
link: "https://www.facebook.com/sharer/sharer.php?title=TITLE&u=URL" link: "https://www.facebook.com/sharer/sharer.php?title=TITLE&u=URL"
-
type: Telegram - type: Telegram
icon: "fab fa-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. # Uncomment below if you need to.
# - #
# type: Linkedin # - type: Linkedin
# icon: "fab fa-linkedin" # icon: "fab fa-linkedin"
# link: "https://www.linkedin.com/sharing/share-offsite/?url=URL" # link: "https://www.linkedin.com/sharing/share-offsite/?url=URL"
# #
# - # - type: Weibo
# type: Weibo
# icon: "fab fa-weibo" # icon: "fab fa-weibo"
# link: "http://service.weibo.com/share/share.php?title=TITLE&url=URL" # link: "http://service.weibo.com/share/share.php?title=TITLE&url=URL"

View File

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

View File

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

View File

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

View File

@ -1,6 +1,5 @@
--- ---
layout: tags layout: tags
title: Tags
icon: fas fa-tags icon: fas fa-tags
order: 2 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 5f28c7d510

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.social.name }}</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.social.name }} </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.social.name }}</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 }}

60
sw.js
View File

@ -1,60 +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(`[sw] method: ${e.request.method}, fetching: ${e.request.url}`); */
return r || fetch(e.request).then((response) => {
return caches.open(cacheName).then((cache) => {
if (!isExcluded(e.request.url)) {
if (e.request.method === "GET") {
/* console.log('[sw] 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