mirror of
https://github.com/cotes2020/chirpy-starter.git
synced 2025-07-01 20:08:55 +10:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
d84dd10ca5 | |||
14988e3c10 | |||
53ccb821cb | |||
81cfa313af | |||
c9806df6fa | |||
67a9ca60de | |||
e6b807ee6f | |||
15f6f7160c | |||
1d7d7cffac | |||
dff8e09089 | |||
565ce4422e | |||
31ed013043 | |||
3c4df16c5c |
19
.github/workflows/pages-deploy.yml
vendored
19
.github/workflows/pages-deploy.yml
vendored
@ -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: |
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -1,10 +1,13 @@
|
||||
# hidden files
|
||||
.*
|
||||
!.github
|
||||
!.git*
|
||||
!.editorconfig
|
||||
!.nojekyll
|
||||
|
||||
# jekyll cache
|
||||
# bundler cache
|
||||
_site
|
||||
vendor
|
||||
Gemfile.lock
|
||||
|
||||
# rubygem
|
||||
*.gem
|
||||
|
21
404.html
21
404.html
@ -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>
|
6
Gemfile
6
Gemfile
@ -1,9 +1,9 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "jekyll-theme-chirpy"
|
||||
gem "jekyll-theme-chirpy", "~> 4.0", ">= 4.0.2"
|
||||
|
||||
# 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?
|
||||
|
31
README.md
31
README.md
@ -1,23 +1,25 @@
|
||||
# Chirpy Starter
|
||||
|
||||
[](https://rubygems.org/gems/jekyll-theme-chirpy)
|
||||
[][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** theme 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. (You can find the gem files by using the command `bundle info --path jekyll-theme-chirpy`). To fully use all the features of **Chirpy**, you need to copy the other critical files/directories from the theme's gem to your Jekyll site.
|
||||
|
||||
The critical files/directories to run or build the **Chirpy** theme are as follows:
|
||||
|
||||
```shell
|
||||
# The critical files/directories to run Chirpy theme
|
||||
.
|
||||
├── _data
|
||||
├── _plugins
|
||||
├── _tabs
|
||||
├── _config.yml
|
||||
├── app.js
|
||||
├── feed.xml
|
||||
├── index.html
|
||||
├── robots.txt
|
||||
├── sw.js
|
||||
└── 404.html
|
||||
└── index.html
|
||||
```
|
||||
|
||||
So we've extracted all the **Chirpy** gem necessary content here to help you get started quickly.
|
||||
|
||||
## Installation
|
||||
|
||||
[Use this template][usetemplate] to generate a new repository, and then execute:
|
||||
@ -40,7 +42,7 @@ And then add the following content:
|
||||
---
|
||||
---
|
||||
|
||||
@import {{ site.theme }}
|
||||
@import "{{ site.theme }}";
|
||||
|
||||
// add your style below
|
||||
```
|
||||
@ -55,13 +57,13 @@ $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
|
||||
### Upgrading
|
||||
|
||||
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.
|
||||
First, please modify the target version number of `jekyll-theme-chirpy` in the `Gemfile` (e.g., `gem "jekyll-theme-chirpy", "~> 4.0", ">= 4.0.1"`). In addition, if the major version number is updated, you need to update the critical files to keep them the same as this project.
|
||||
|
||||
And then execute:
|
||||
After that, execute the following command:
|
||||
|
||||
```console
|
||||
$ bundle update jekyll-theme-chirpy
|
||||
@ -73,7 +75,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
|
||||
|
34
_config.yml
34
_config.yml
@ -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
|
||||
@ -50,15 +50,11 @@ google_site_verification: google_meta_tag_verification # change to your verifica
|
||||
# --------------------------
|
||||
|
||||
google_analytics:
|
||||
id: '' # Fill with your Google Analytics ID
|
||||
id: '' # fill in your Google Analytics ID
|
||||
# Google Analytics pageviews report settings
|
||||
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.
|
||||
proxy_endpoint: # fill in the Google Analytics superProxy endpoint of Google App Engine
|
||||
cache_path: # the local PV cache data, friendly to visitors from GFW region
|
||||
|
||||
# Prefer color scheme setting.
|
||||
#
|
||||
@ -105,10 +101,6 @@ 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
|
||||
@ -124,6 +116,9 @@ defaults:
|
||||
layout: post
|
||||
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
|
||||
@ -151,18 +146,15 @@ compress_html:
|
||||
envs: [development]
|
||||
|
||||
exclude:
|
||||
- vendor
|
||||
- Gemfile
|
||||
- Gemfile.lock
|
||||
- jekyll-theme-chirpy.gemspec
|
||||
- '*.gem'
|
||||
- '*.gemspec'
|
||||
- tools
|
||||
- docs
|
||||
- README.md
|
||||
- LICENSE
|
||||
- gulpfile.js
|
||||
- node_modules
|
||||
- package.json
|
||||
- package-lock.json
|
||||
- '*.json'
|
||||
|
||||
jekyll-archives:
|
||||
enabled: [categories, tags]
|
||||
|
8
app.js
8
app.js
@ -1,8 +0,0 @@
|
||||
---
|
||||
layout: compress
|
||||
---
|
||||
|
||||
/* Registering Service Worker */
|
||||
if('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.register('{{ "/sw.js" | relative_url }}');
|
||||
};
|
60
feed.xml
60
feed.xml
@ -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: '&', '&' }}
|
10
robots.txt
10
robots.txt
@ -1,10 +0,0 @@
|
||||
---
|
||||
permalink: robots.txt
|
||||
# The robots rules
|
||||
---
|
||||
|
||||
User-agent: *
|
||||
|
||||
Disallow: /norobots/
|
||||
|
||||
Sitemap: {{ '/sitemap.xml' | absolute_url }}
|
61
sw.js
61
sw.js
@ -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);
|
||||
}
|
||||
}));
|
||||
})
|
||||
);
|
||||
});
|
Reference in New Issue
Block a user