Compare commits

..

6 Commits

7 changed files with 30 additions and 38 deletions

View File

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

3
.gitignore vendored
View File

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

View File

@ -1,9 +1,9 @@
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
# If you have any plugins, put them here!
# gem "jekyll-xxx", "~> x.y"
end
@ -18,5 +18,5 @@ install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
gem "tzinfo-data"
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?

View File

@ -1,8 +1,11 @@
# 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].
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
# 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
```
We extracted all the necessary content of **Chirpy** theme's gem to help you quickly use the theme.
## Installation
[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
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
@ -73,7 +78,8 @@ See the [theme's docs](https://github.com/cotes2020/jekyll-theme-chirpy#document
## 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
[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'
url: ''
author: your_full_name # change to your full name
github:
username: github_username # change to your github username
@ -36,7 +34,9 @@ twitter:
username: twitter_username # change to your twitter username
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
links:
# The first element serves as the copyright owner's link
@ -154,7 +154,8 @@ exclude:
- vendor
- Gemfile
- Gemfile.lock
- jekyll-theme-chirpy.gemspec
- '*.gem'
- '*.gemspec'
- tools
- docs
- README.md

View File

@ -10,14 +10,14 @@ layout: compress
<subtitle>{{ site.description }}</subtitle>
<updated>{{ site.time | date_to_xmlschema }}</updated>
<author>
<name>{{ site.author }}</name>
<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.author }} </rights>
<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>
@ -35,7 +35,7 @@ layout: compress
<id>{{ post_absolute_url }}</id>
<content src="{{ post_absolute_url }}" />
<author>
<name>{{ site.author }}</name>
<name>{{ site.social.name }}</name>
</author>
{% if post.categories %}

13
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" }}';
function isExcluded(url) {
const regex = /(^http(s)?|^\/)/; /* the regex for CORS url or relative url */
for (const rule of exclude) {
@ -19,7 +18,6 @@ function isExcluded(url) {
return false;
}
self.addEventListener('install', (e) => {
self.skipWaiting();
e.waitUntil(
@ -29,25 +27,26 @@ self.addEventListener('install', (e) => {
);
});
self.addEventListener('fetch', (e) => {
e.respondWith(
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 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());
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) => {