Compare commits

...

6 Commits

7 changed files with 30 additions and 38 deletions

View File

@ -13,9 +13,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
GEMS_PATH: ~/vendor/bundle
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -23,22 +20,10 @@ jobs:
fetch-depth: 0 # for posts's lastmod fetch-depth: 0 # for posts's lastmod
- name: Setup Ruby - name: Setup Ruby
uses: actions/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: 2.7 ruby-version: 2.7
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 - name: Check baseurl
run: | run: |

3
.gitignore vendored
View File

@ -2,9 +2,10 @@
.* .*
!.github !.github
# jekyll cache # bundler cache
_site _site
vendor vendor
Gemfile.lock
# rubygem # rubygem
*.gem *.gem

View File

@ -1,9 +1,9 @@
source "https://rubygems.org" source "https://rubygems.org"
gem "jekyll-theme-chirpy" gem "jekyll-theme-chirpy", "~> 3.3"
# If you have any plugins, put them here!
group :jekyll_plugins do group :jekyll_plugins do
# If you have any plugins, put them here!
# gem "jekyll-xxx", "~> x.y" # gem "jekyll-xxx", "~> x.y"
end end
@ -18,5 +18,5 @@ install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
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", :install_if => Gem.win_platform?

View File

@ -1,8 +1,11 @@
# 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]
The startup template for [**Jekyll Theme Chirpy**][chirpy]. The startup template for [**Jekyll Theme Chirpy**][chirpy].
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 files/directories and config options from the theme's gem to your Jekyll site. So we extract all the required things of the theme's gem to help you quickly use Chirpy. 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.
```shell ```shell
# The critical files/directories to run Chirpy theme # The critical files/directories to run Chirpy theme
@ -18,6 +21,8 @@ When installing the Chirpy through [RubyGems][gem], Jekyll can only read files i
└── 404.html └── 404.html
``` ```
We extracted all the necessary content of **Chirpy** theme's gem to help you quickly use the theme.
## Installation ## Installation
[Use this template][usetemplate] to generate a new repository, and then execute: [Use this template][usetemplate] to generate a new repository, and then execute:
@ -55,7 +60,7 @@ $tab-count: {{ site.tabs | size | plus: 1 }};
### Publishing to GitHub Pages ### 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. See the [deployment instructions](https://github.com/cotes2020/jekyll-theme-chirpy#deployment) of `jekyll-theme-chirpy`.
### Updating ### Updating
@ -73,7 +78,8 @@ See the [theme's docs](https://github.com/cotes2020/jekyll-theme-chirpy#document
## License ## License
This work is published under [MIT](https://github.com/cotes2020/chirpy-starter/blob/master/LICENSE) License. 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/
[mit]: https://github.com/cotes2020/chirpy-starter/blob/master/LICENSE

View File

@ -27,8 +27,6 @@ description: >- # used by seo meta and the atom feed
# 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: ''
author: your_full_name # change to your full name
github: github:
username: github_username # change to your github username username: github_username # change to your github username
@ -36,7 +34,9 @@ twitter:
username: twitter_username # change to your twitter username username: twitter_username # change to your twitter username
social: social:
name: your_full_name # it will shows as the copyright owner in Footer # 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@doamin.com # change to your email address email: example@doamin.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
@ -154,7 +154,8 @@ exclude:
- vendor - vendor
- Gemfile - Gemfile
- Gemfile.lock - Gemfile.lock
- jekyll-theme-chirpy.gemspec - '*.gem'
- '*.gemspec'
- tools - tools
- docs - docs
- README.md - README.md

View File

@ -10,14 +10,14 @@ layout: compress
<subtitle>{{ site.description }}</subtitle> <subtitle>{{ site.description }}</subtitle>
<updated>{{ site.time | date_to_xmlschema }}</updated> <updated>{{ site.time | date_to_xmlschema }}</updated>
<author> <author>
<name>{{ site.author }}</name> <name>{{ site.social.name }}</name>
<uri>{{ "/" | absolute_url }}</uri> <uri>{{ "/" | absolute_url }}</uri>
</author> </author>
<link rel="self" type="application/atom+xml" href="{{ page.url | absolute_url }}"/> <link rel="self" type="application/atom+xml" href="{{ page.url | absolute_url }}"/>
<link rel="alternate" type="text/html" hreflang="{{ site.lang | default: 'en' }}" <link rel="alternate" type="text/html" hreflang="{{ site.lang | default: 'en' }}"
href="{{ '/' | absolute_url }}"/> href="{{ '/' | absolute_url }}"/>
<generator uri="https://jekyllrb.com/" version="{{ jekyll.version }}">Jekyll</generator> <generator uri="https://jekyllrb.com/" version="{{ jekyll.version }}">Jekyll</generator>
<rights> © {{ 'now' | date: '%Y' }} {{ site.author }} </rights> <rights> © {{ 'now' | date: '%Y' }} {{ site.social.name }} </rights>
<icon>{{ site.baseurl }}/assets/img/favicons/favicon.ico</icon> <icon>{{ site.baseurl }}/assets/img/favicons/favicon.ico</icon>
<logo>{{ site.baseurl }}/assets/img/favicons/favicon-96x96.png</logo> <logo>{{ site.baseurl }}/assets/img/favicons/favicon-96x96.png</logo>
@ -35,7 +35,7 @@ layout: compress
<id>{{ post_absolute_url }}</id> <id>{{ post_absolute_url }}</id>
<content src="{{ post_absolute_url }}" /> <content src="{{ post_absolute_url }}" />
<author> <author>
<name>{{ site.author }}</name> <name>{{ site.social.name }}</name>
</author> </author>
{% if post.categories %} {% if post.categories %}

11
sw.js
View File

@ -7,7 +7,6 @@ self.importScripts('{{ "/assets/js/data/cache-list.js" | relative_url }}');
var cacheName = 'chirpy-{{ "now" | date: "%Y%m%d.%H%M" }}'; var cacheName = 'chirpy-{{ "now" | date: "%Y%m%d.%H%M" }}';
function isExcluded(url) { function isExcluded(url) {
const regex = /(^http(s)?|^\/)/; /* the regex for CORS url or relative url */ const regex = /(^http(s)?|^\/)/; /* the regex for CORS url or relative url */
for (const rule of exclude) { for (const rule of exclude) {
@ -19,7 +18,6 @@ function isExcluded(url) {
return false; return false;
} }
self.addEventListener('install', (e) => { self.addEventListener('install', (e) => {
self.skipWaiting(); self.skipWaiting();
e.waitUntil( e.waitUntil(
@ -29,25 +27,26 @@ self.addEventListener('install', (e) => {
); );
}); });
self.addEventListener('fetch', (e) => { self.addEventListener('fetch', (e) => {
e.respondWith( e.respondWith(
caches.match(e.request).then((r) => { caches.match(e.request).then((r) => {
/* console.log('[Service Worker] Fetching resource: ' + e.request.url); */ /* console.log(`[sw] method: ${e.request.method}, fetching: ${e.request.url}`); */
return r || fetch(e.request).then((response) => { return r || fetch(e.request).then((response) => {
return caches.open(cacheName).then((cache) => { return caches.open(cacheName).then((cache) => {
if (!isExcluded(e.request.url)) { if (!isExcluded(e.request.url)) {
/* console.log('[Service Worker] Caching new resource: ' + e.request.url); */ if (e.request.method === "GET") {
/* console.log('[sw] Caching new resource: ' + e.request.url); */
cache.put(e.request, response.clone()); cache.put(e.request, response.clone());
} }
}
return response; return response;
}); });
}); });
}) })
); );
}); });
self.addEventListener('activate', (e) => { self.addEventListener('activate', (e) => {
e.waitUntil( e.waitUntil(
caches.keys().then((keyList) => { caches.keys().then((keyList) => {