jekyll-theme-chirpy 3.2.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -29
  3. data/_config.yml +11 -20
  4. data/_includes/css-selector.html +5 -0
  5. data/_includes/disqus.html +1 -1
  6. data/_includes/favicons.html +11 -26
  7. data/_includes/head.html +16 -22
  8. data/_includes/js-selector.html +29 -5
  9. data/_includes/refactor-content.html +0 -5
  10. data/_includes/timeago.html +5 -1
  11. data/_includes/topbar.html +1 -1
  12. data/_layouts/home.html +1 -1
  13. data/_layouts/post.html +6 -7
  14. data/_sass/addon/commons.scss +84 -56
  15. data/_sass/addon/module.scss +6 -5
  16. data/_sass/colors/dark-typography.scss +1 -0
  17. data/_sass/colors/light-syntax.scss +1 -1
  18. data/_sass/colors/light-typography.scss +2 -1
  19. data/_sass/jekyll-theme-chirpy.scss +1 -1
  20. data/_sass/layout/post.scss +8 -0
  21. data/{404.html → assets/404.html} +0 -0
  22. data/{feed.xml → assets/feed.xml} +4 -3
  23. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  24. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  25. data/assets/img/favicons/apple-touch-icon.png +0 -0
  26. data/assets/img/favicons/browserconfig.xml +3 -6
  27. data/assets/img/favicons/favicon-16x16.png +0 -0
  28. data/assets/img/favicons/favicon-32x32.png +0 -0
  29. data/assets/img/favicons/favicon.ico +0 -0
  30. data/assets/img/favicons/mstile-150x150.png +0 -0
  31. data/assets/img/favicons/site.webmanifest +26 -0
  32. data/assets/js/data/swcache.js +64 -0
  33. data/assets/js/dist/categories.min.js +2 -2
  34. data/assets/js/dist/commons.min.js +6 -0
  35. data/assets/js/dist/home.min.js +2 -2
  36. data/assets/js/dist/page.min.js +2 -2
  37. data/assets/js/dist/post.min.js +2 -2
  38. data/assets/js/dist/pvreport.min.js +2 -2
  39. data/{app.js → assets/js/pwa/app.js} +1 -0
  40. data/assets/js/pwa/sw.js +87 -0
  41. data/{robots.txt → assets/robots.txt} +1 -1
  42. metadata +14 -32
  43. data/_includes/lozad.html +0 -10
  44. data/assets/img/favicons/android-icon-144x144.png +0 -0
  45. data/assets/img/favicons/android-icon-192x192.png +0 -0
  46. data/assets/img/favicons/android-icon-36x36.png +0 -0
  47. data/assets/img/favicons/android-icon-48x48.png +0 -0
  48. data/assets/img/favicons/android-icon-72x72.png +0 -0
  49. data/assets/img/favicons/android-icon-96x96.png +0 -0
  50. data/assets/img/favicons/apple-icon-114x114.png +0 -0
  51. data/assets/img/favicons/apple-icon-120x120.png +0 -0
  52. data/assets/img/favicons/apple-icon-144x144.png +0 -0
  53. data/assets/img/favicons/apple-icon-152x152.png +0 -0
  54. data/assets/img/favicons/apple-icon-180x180.png +0 -0
  55. data/assets/img/favicons/apple-icon-57x57.png +0 -0
  56. data/assets/img/favicons/apple-icon-60x60.png +0 -0
  57. data/assets/img/favicons/apple-icon-72x72.png +0 -0
  58. data/assets/img/favicons/apple-icon-76x76.png +0 -0
  59. data/assets/img/favicons/apple-icon-precomposed.png +0 -0
  60. data/assets/img/favicons/apple-icon.png +0 -0
  61. data/assets/img/favicons/favicon-96x96.png +0 -0
  62. data/assets/img/favicons/manifest.json +0 -54
  63. data/assets/img/favicons/ms-icon-144x144.png +0 -0
  64. data/assets/img/favicons/ms-icon-150x150.png +0 -0
  65. data/assets/img/favicons/ms-icon-310x310.png +0 -0
  66. data/assets/img/favicons/ms-icon-70x70.png +0 -0
  67. data/assets/js/data/cache-list.js +0 -65
  68. data/sw.js +0 -61
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a36f6248ffa49d35542f65f5243667d7e4cc7d937af7f7108a6bb07cd807d7c
4
- data.tar.gz: 04dca9dc35358c737c1abec42eb53cf1124e84b4550f0a972d04db15a22f8040
3
+ metadata.gz: d184bb7ea0d85aab6518e6206da789d7ed52d8d69fa6b99d49143c5e64579791
4
+ data.tar.gz: b26a14744e2ffdd408da2ad694e9963de3fe2fded5993a8edba5769a65972236
5
5
  SHA512:
6
- metadata.gz: 62e1c23473be119580d580820201423118bbed6caf9b8b649fa2d7270f9a3241ac9793d7f25ce20b309705d4c7e411bcc69346427c3d3a34e92250845439ca11
7
- data.tar.gz: 821595cc8bf64a93826ca41c5d30372624cf427cc0869ce88b336fe1bbc6691bbf2c6f51f83f98b9dc1c254133c5b88461954c929865ab63fb759908338f449e
6
+ metadata.gz: 83c977ab26d362130f78e03ba9d6ff2c80388a9d361e54f503a2036561ed93bfaf091f5bad787a467467d9fe298df675bcfbd8f50be87fae71ab6ba8c6b896c0
7
+ data.tar.gz: 2a82eaad1b0e2bf1eb168cdcb0b81a6f520f6ee4d953008ab82f1b3d40db1380ecc6bb2a5a067981780c2973bd562e6efe30a7eaed809ef66b9ea73c044c767d
data/README.md CHANGED
@@ -12,18 +12,6 @@ A minimal, sidebar, responsive web design Jekyll theme that focuses on text pres
12
12
 
13
13
  [![Devices Mockup](https://cdn.jsdelivr.net/gh/cotes2020/chirpy-images/commons/devices-mockup.png)](https://chirpy.cotes.info)
14
14
 
15
- ## Table of Contents
16
-
17
- - [Features](#features)
18
- - [Prerequisites](#prerequisites)
19
- - [Installation](#installation)
20
- - [Usage](#usage)
21
- - [Documentation](#documentation)
22
- - [Contributing](#contributing)
23
- - [Credits](#credits)
24
- - [Support](#support)
25
- - [License](#license)
26
-
27
15
  ## Features
28
16
 
29
17
  - Pinned Posts
@@ -81,7 +69,7 @@ Finally, copy the required files from the theme's gem (for detailed files, see [
81
69
  > $ bundle info --path jekyll-theme-chirpy
82
70
  > ```
83
71
 
84
- Or you can [**use the starter template**][use-starter] to create a Jekyll site to save time copying files from theme's gem. We have prepared everything for you there!
72
+ Or you can [**use the starter template**][use-starter] to create a Jekyll site to save time copying files from the theme's gem. We have prepared everything for you there!
85
73
 
86
74
  ### Fork on GitHub
87
75
 
@@ -108,7 +96,7 @@ What it does is:
108
96
  - files under `_posts`
109
97
  - folder `docs`
110
98
 
111
- 2. If you use the `--no-gh` option, the directory `.github` will be deleted. Otherwise, setup the GitHub Action workflow by removing extension `.hook` of `.github/workflows/pages-deploy.yml.hook`, and then remove the other files and directories in folder `.github`.
99
+ 2. If you use the `--no-gh` option, the directory `.github` will be deleted. Otherwise, setup the GitHub Action workflow by removing the extension `.hook` of `.github/workflows/pages-deploy.yml.hook`, and then remove the other files and directories in the folder `.github`.
112
100
 
113
101
  3. Automatically create a commit to save the changes.
114
102
 
@@ -144,7 +132,7 @@ Open a browser and visit to _<http://localhost:4000>_.
144
132
 
145
133
  ### Deployment
146
134
 
147
- Before the deployment begins, checkout the file `_config.yml` and make sure the `url` is configured correctly. Furthermore, if you prefer the [**project site**](https://help.github.com/en/github/working-with-github-pages/about-github-pages#types-of-github-pages-sites) and don't use a custom domain, or you want to visit your website with a base url on a web server other than **GitHub Pages**, remember to change the `baseurl` to your project name that starting with a slash, e.g, `/project-name`.
135
+ Before the deployment begins, checkout the file `_config.yml` and make sure the `url` is configured correctly. Furthermore, if you prefer the [**project site**](https://help.github.com/en/github/working-with-github-pages/about-github-pages#types-of-github-pages-sites) and don't use a custom domain, or you want to visit your website with a base URL on a web server other than **GitHub Pages**, remember to change the `baseurl` to your project name that starting with a slash, e.g, `/project-name`.
148
136
 
149
137
  Now you can choose ONE of the following methods to deploy your Jekyll site.
150
138
 
@@ -155,15 +143,15 @@ For security reasons, GitHub Pages build runs on `safe` mode, which restricts us
155
143
  Quickly check the files needed for GitHub Actions build:
156
144
 
157
145
  - Ensure your Jekyll site has the file `.github/workflows/pages-deploy.yml`. Otherwise, create a new one and fill in the contents of the [workflow file][workflow], and the value of the `on.push.branches` should be the same as your repo's default branch name.
158
- - Ensuer your Jekyll site has file `tools/test.sh` and `tools/deploy.sh`. Otherwise, copy them from this repo to your Jekyll site.
146
+ - Ensure your Jekyll site has file `tools/test.sh` and `tools/deploy.sh`. Otherwise, copy them from this repo to your Jekyll site.
159
147
 
160
- And then rename your repoistory to `<GH-USERNAME>.github.io` on GitHub.
148
+ And then rename your repository to `<GH-USERNAME>.github.io` on GitHub.
161
149
 
162
150
  Now publish your Jekyll site by:
163
151
 
164
152
  1. Push any commit to remote to trigger the GitHub Actions workflow. Once the build is complete and successful, a new remote branch named `gh-pages` will appear to store the built site files.
165
153
 
166
- 2. Browse to your repo's landing page on GitHub and select the branch `gh-pages` as the [publishing source](https://docs.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) throught _Settings_ → _Options_ → _GitHub Pages_:
154
+ 2. Browse to your repo's landing page on GitHub and select the branch `gh-pages` as the [publishing source](https://docs.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) through _Settings_ → _Options_ → _GitHub Pages_:
167
155
 
168
156
  ![gh-pages-sources](https://cdn.jsdelivr.net/gh/cotes2020/chirpy-images/posts/20190809/gh-pages-sources.png)
169
157
 
@@ -193,7 +181,7 @@ Unless you specified the output path, the generated site files will be placed in
193
181
 
194
182
  ## Documentation
195
183
 
196
- For more details and the better reading experience, please check out the [tutorials on demo site](https://chirpy.cotes.info/categories/tutorial/). In the meanwhile, a copy of the tutorial is also available on the [Wiki](https://github.com/cotes2020/jekyll-theme-chirpy/wiki).
184
+ For more details and a better reading experience, please check out the [tutorials on the demo site](https://chirpy.cotes.info/categories/tutorial/). In the meanwhile, a copy of the tutorial is also available on the [Wiki](https://github.com/cotes2020/jekyll-theme-chirpy/wiki).
197
185
 
198
186
  ## Contributing
199
187
 
@@ -201,21 +189,19 @@ The old saying, "Two heads are better than one." Consequently, welcome to report
201
189
 
202
190
  ## Credits
203
191
 
204
- This theme is mainly built with [Jekyll](https://jekyllrb.com/) ecosystem, [Bootstrap](https://getbootstrap.com/), [Font Awesome](https://fontawesome.com/) and some other wonderful tools (their copyright information can be found in the relevant files).
205
-
206
- :tada: Thanks to all the volunteers who contributed to this project, their GitHub IDs are on [this list](https://github.com/cotes2020/jekyll-theme-chirpy/graphs/contributors). Also, I won't forget those guys who submitted the issues or unmerged PR because they reported bugs, shared ideas or inspired me to write more readable documentation.
192
+ This theme is mainly built with [Jekyll](https://jekyllrb.com/) ecosystem, [Bootstrap](https://getbootstrap.com/), [Font Awesome](https://fontawesome.com/) and some other wonderful tools (their copyright information can be found in the relevant files). The avatar and favicon design comes from [Clipart Max](https://www.clipartmax.com/middle/m2i8b1m2K9Z5m2K9_ant-clipart-childrens-ant-cute/).
207
193
 
208
- Also, thank [JetBrains][jb] for providing the open source license.
194
+ :tada: Thanks to all the volunteers who contributed to this project, their GitHub IDs are on [this list](https://github.com/cotes2020/jekyll-theme-chirpy/graphs/contributors). Also, I won't forget those guys who submitted the issues or unmerged PR because they reported bugs, shared ideas, or inspired me to write more readable documentation.
209
195
 
210
- [![JB-logo](https://cdn.jsdelivr.net/gh/cotes2020/chirpy-images/commons/jetbrains.svg)][jb]
196
+ Last but not least, thank [JetBrains][jb] for providing the open source license.
211
197
 
212
- ## Support
198
+ ## Sponsoring
213
199
 
214
200
  If you like this theme or find it helpful, please consider sponsoring me, because it will encourage and help me better maintain the project, I will be very grateful!
215
201
 
216
- [![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-orange?logo=buy-me-a-coffee&logoColor=white)](https://www.buymeacoffee.com/coteschung)
217
- [![Wechat Pay](https://img.shields.io/badge/WeChat%20Pay-brightgreen?logo=wechat&logoColor=white)][cn-donation]
218
- [![Alipay](https://img.shields.io/badge/Alipay-blue?logo=alipay&logoColor=white)][cn-donation]
202
+ [![Buy Me a Coffee](https://img.shields.io/badge/-Buy%20Me%20a%20Coffee-ff813f?logo=buy-me-a-coffee&logoColor=white)](https://www.buymeacoffee.com/coteschung)
203
+ [![Wechat Pay](https://img.shields.io/badge/-Tip%20Me%20on%20WeChat-brightgreen?logo=wechat&logoColor=white)][cn-donation]
204
+ [![Alipay](https://img.shields.io/badge/-Tip%20Me%20on%20Alipay-blue?logo=alipay&logoColor=white)][cn-donation]
219
205
 
220
206
  ## License
221
207
 
@@ -229,4 +215,3 @@ This work is published under [MIT](https://github.com/cotes2020/jekyll-theme-chi
229
215
 
230
216
  [jb]: https://www.jetbrains.com/?from=jekyll-theme-chirpy
231
217
  [cn-donation]: https://cotes.gitee.io/alipay-wechat-donation/
232
-
data/_config.yml CHANGED
@@ -27,8 +27,6 @@ description: >- # used by seo meta and the atom feed
27
27
  # fill in the protocol & hostname for your site, e.g., 'https://username.github.io'
28
28
  url: ''
29
29
 
30
- author: your_full_name # change to your full name
31
-
32
30
  github:
33
31
  username: github_username # change to your github username
34
32
 
@@ -36,7 +34,9 @@ twitter:
36
34
  username: twitter_username # change to your twitter username
37
35
 
38
36
  social:
39
- name: your_full_name # it will shows as the copyright owner in Footer
37
+ # Change to your full name.
38
+ # It will be displayed as the default author of the posts and the copyright owner in the Footer
39
+ name: your_full_name
40
40
  email: example@doamin.com # change to your email address
41
41
  links:
42
42
  # 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
50
50
  # --------------------------
51
51
 
52
52
  google_analytics:
53
- id: '' # Fill with your Google Analytics ID
53
+ id: '' # fill in your Google Analytics ID
54
+ # Google Analytics pageviews report settings
54
55
  pv:
55
- # The Google Analytics pageviews switch.
56
- # DO NOT enable it unless you know how to deploy the Google Analytics superProxy.
57
- enabled: false
58
- # the next options only valid when `google_analytics.pv` is enabled.
59
- proxy_url: ''
60
- proxy_endpoint: ''
61
- cache: false # pv data local cache, good for the users from GFW area.
56
+ proxy_endpoint: # fill in the Google Analytics superProxy endpoint of Google App Engine
57
+ cache_path: # the local PV cache data, friendly to visitors from GFW region
62
58
 
63
59
  # Prefer color scheme setting.
64
60
  #
@@ -105,10 +101,6 @@ kramdown:
105
101
  line_numbers: true
106
102
  start_line: 1
107
103
 
108
- # DO NOT change this unless you're a Pro user on Jekyll and Web development,
109
- # Or you think you're smart enough to change other relevant URLs within this template.
110
- permalink: /posts/:title/
111
-
112
104
  collections:
113
105
  tabs:
114
106
  output: true
@@ -124,6 +116,9 @@ defaults:
124
116
  layout: post
125
117
  comments: true # Enable comments in posts.
126
118
  toc: true # Display TOC column in posts.
119
+ # DO NOT modify the following parameter unless you are confident enough
120
+ # to update the code of all other post links in this project.
121
+ permalink: /posts/:title/
127
122
  -
128
123
  scope:
129
124
  path: _drafts
@@ -151,9 +146,6 @@ compress_html:
151
146
  envs: [development]
152
147
 
153
148
  exclude:
154
- - vendor
155
- - Gemfile
156
- - Gemfile.lock
157
149
  - '*.gem'
158
150
  - '*.gemspec'
159
151
  - tools
@@ -162,8 +154,7 @@ exclude:
162
154
  - LICENSE
163
155
  - gulpfile.js
164
156
  - node_modules
165
- - package.json
166
- - package-lock.json
157
+ - '*.json'
167
158
 
168
159
  jekyll-archives:
169
160
  enabled: [categories, tags]
@@ -8,3 +8,8 @@
8
8
  <link rel="stylesheet"
9
9
  href="https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@1.0.1/dist/bootstrap-toc.min.css">
10
10
  {% endif %}
11
+
12
+ {% if page.layout == 'page' or page.layout == 'post' %}
13
+ <!-- Manific Popup -->
14
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/magnific-popup@1.1.0/dist/magnific-popup.min.css">
15
+ {% endif %}
@@ -5,7 +5,7 @@
5
5
 
6
6
  <div id="disqus" class="pt-2 pb-2">
7
7
  <p class="text-center text-muted small pb-5">
8
- Loading comments from <a href="https://disqus.com/">Disqus</a> ...
8
+ Comments powered by <a href="https://disqus.com/">Disqus</a>.
9
9
  </p>
10
10
  </div>
11
11
 
@@ -1,32 +1,17 @@
1
1
  <!--
2
2
  The Favicons for Web, Android, Microsoft, and iOS (iPhone and iPad) Apps
3
- Generated by: https://www.favicon-generator.org/
3
+ Generated by: https://realfavicongenerator.net/
4
4
  -->
5
5
 
6
- {% capture icon_url %}{{ site.baseurl }}/assets/img/favicons{% endcapture %}
6
+ {% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %}
7
7
 
8
- <link rel="shortcut icon" href="{{ icon_url }}/favicon.ico" type="image/x-icon">
9
- <link rel="icon" href="{{ icon_url }}/favicon.ico" type="image/x-icon">
10
-
11
- <link rel="apple-touch-icon" href="{{ icon_url }}/apple-icon.png">
12
- <link rel="apple-touch-icon" href="{{ icon_url }}/apple-icon-precomposed.png">
13
- <link rel="apple-touch-icon" sizes="57x57" href="{{ icon_url }}/apple-icon-57x57.png">
14
- <link rel="apple-touch-icon" sizes="60x60" href="{{ icon_url }}/apple-icon-60x60.png">
15
- <link rel="apple-touch-icon" sizes="72x72" href="{{ icon_url }}/apple-icon-72x72.png">
16
- <link rel="apple-touch-icon" sizes="76x76" href="{{ icon_url }}/apple-icon-76x76.png">
17
- <link rel="apple-touch-icon" sizes="114x114" href="{{ icon_url }}/apple-icon-114x114.png">
18
- <link rel="apple-touch-icon" sizes="120x120" href="{{ icon_url }}/apple-icon-120x120.png">
19
- <link rel="apple-touch-icon" sizes="144x144" href="{{ icon_url }}/apple-icon-144x144.png">
20
- <link rel="apple-touch-icon" sizes="152x152" href="{{ icon_url }}/apple-icon-152x152.png">
21
- <link rel="apple-touch-icon" sizes="180x180" href="{{ icon_url }}/apple-icon-180x180.png">
22
-
23
- <link rel="icon" type="image/png" sizes="192x192" href="{{ icon_url }}/android-icon-192x192.png">
24
- <link rel="icon" type="image/png" sizes="32x32" href="{{ icon_url }}/favicon-32x32.png">
25
- <link rel="icon" type="image/png" sizes="96x96" href="{{ icon_url }}/favicon-96x96.png">
26
- <link rel="icon" type="image/png" sizes="16x16" href="{{ icon_url }}/favicon-16x16.png">
27
-
28
- <link rel="manifest" href="{{ icon_url }}/manifest.json">
29
- <meta name='msapplication-config' content='{{ icon_url }}/browserconfig.xml'>
30
- <meta name="msapplication-TileColor" content="#ffffff">
31
- <meta name="msapplication-TileImage" content="{{ icon_url }}/ms-icon-144x144.png">
8
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ favicon_path }}/apple-touch-icon.png">
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ favicon_path }}/favicon-32x32.png">
10
+ <link rel="icon" type="image/png" sizes="16x16" href="{{ favicon_path }}/favicon-16x16.png">
11
+ <link rel="manifest" href="{{ favicon_path }}/site.webmanifest">
12
+ <link rel="shortcut icon" href="{{ favicon_path }}/favicon.ico">
13
+ <meta name="apple-mobile-web-app-title" content="{{ site.title }}">
14
+ <meta name="application-name" content="{{ site.title }}">
15
+ <meta name="msapplication-TileColor" content="#da532c">
16
+ <meta name="msapplication-config" content="{{ favicon_path }}/browserconfig.xml">
32
17
  <meta name="theme-color" content="#ffffff">
data/_includes/head.html CHANGED
@@ -7,19 +7,15 @@
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
8
8
 
9
9
  {% if page.layout == 'home' or page.layout == 'post' %}
10
- <meta name="pv-cache-enabled" content="{{ site.google_analytics.pv.enabled }}">
11
10
 
12
- {% if site.google_analytics.pv.enabled %}
13
- {% if site.google_analytics.pv.proxy_endpoint != ''
14
- and site.google_analytics.pv.proxy_endpoint %}
15
- <meta name="pv-proxy-endpoint" content="{{ site.google_analytics.pv.proxy_endpoint }}">
16
- {% endif %}
17
-
18
- {% if site.google_analytics.pv.cache %}
19
- <meta name="pv-cache-data" content="{{ '/assets/js/data/pageviews.json' | relative_url }}">
20
- {% endif %}
11
+ {% if site.google_analytics.pv.proxy_endpoint %}
12
+ <meta name="pv-proxy-endpoint" content="{{ site.google_analytics.pv.proxy_endpoint }}">
13
+ {% endif %}
21
14
 
15
+ {% if site.google_analytics.pv.cache_path %}
16
+ <meta name="pv-cache-path" content="{{ site.google_analytics.pv.cache_path | relative_url }}">
22
17
  {% endif %}
18
+
23
19
  {% endif %}
24
20
 
25
21
  {% seo title=false %}
@@ -45,26 +41,24 @@
45
41
  <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="anonymous">
46
42
  <link rel="dns-prefetch" href="https://www.googletagmanager.com">
47
43
 
48
- {% if site.google_analytics.pv.proxy_url and site.google_analytics.pv.enabled %}
49
- <link rel="preconnect" href="{{ site.google_analytics.pv.proxy_url }}" crossorigin="use-credentials">
50
- <link rel="dns-prefetch" href="{{ site.google_analytics.pv.proxy_url }}">
44
+ {% if site.google_analytics.pv.proxy_endpoint %}
45
+ {% assign proxy_url = site.google_analytics.pv.proxy_endpoint
46
+ | replace: "https://", "" | split: "/" | first | prepend: "https://" %}
47
+
48
+ <link rel="preconnect" href="{{ proxy_url }}" crossorigin="use-credentials">
49
+ <link rel="dns-prefetch" href="{{ proxy_url }}">
51
50
  {% endif %}
52
51
  {% endif %}
53
52
 
54
53
  <!-- jsDelivr CDN -->
55
- <link rel="preconnect" href="cdn.jsdelivr.net">
56
- <link rel="dns-prefetch" href="cdn.jsdelivr.net">
54
+ <link rel="preconnect" href="https://cdn.jsdelivr.net">
55
+ <link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
57
56
 
58
57
  <!-- Bootstrap -->
59
- <link rel="stylesheet"
60
- href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css"
61
- integrity="sha256-LA89z+k9fjgMKQ/kq4OO2Mrf8VltYml/VES+Rg0fh20=" crossorigin="anonymous">
58
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css">
62
59
 
63
60
  <!-- Font Awesome -->
64
- <link rel="stylesheet"
65
- href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.11.2/css/all.min.css"
66
- integrity="sha256-+N4/V/SbAFiW1MPBCXnfnP9QSN3+Keu+NlB+0ev/YKQ="
67
- crossorigin="anonymous">
61
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.11.2/css/all.min.css">
68
62
 
69
63
  {% include css-selector.html %}
70
64
 
@@ -3,19 +3,26 @@
3
3
  -->
4
4
 
5
5
  {% if page.layout == 'home' or page.layout == 'post' %}
6
- {% if site.google_analytics.pv.enabled %}
6
+ {% if site.google_analytics.pv.proxy_endpoint or site.google_analytics.pv.cache_path %}
7
7
  <!-- pv-report needs countup.js -->
8
8
  <script async src="https://cdn.jsdelivr.net/npm/countup.js@1.9.3/dist/countUp.min.js"></script>
9
9
  <script async src="{{ '/assets/js/dist/pvreport.min.js' | relative_url }}"></script>
10
10
  {% endif %}
11
11
  {% endif %}
12
12
 
13
+ {% if page.layout == 'post' or page.layout == 'page' %}
14
+ <!-- image lazy-loading & popup -->
15
+ <script async
16
+ src="https://cdn.jsdelivr.net/combine/npm/lozad/dist/lozad.min.js,npm/magnific-popup@1/dist/jquery.magnific-popup.min.js"></script>
17
+ {% endif %}
18
+
13
19
  {% if page.layout == 'home'
20
+ or page.layout == 'categories'
14
21
  or page.layout == 'post'
15
- or page.layout == 'categories' %}
22
+ or page.layout == 'page' %}
16
23
  {% assign type = page.layout %}
17
24
  {% else %}
18
- {% assign type = "page" %}
25
+ {% assign type = "commons" %}
19
26
  {% endif %}
20
27
 
21
28
  {% assign js = type | prepend: '/assets/js/dist/' | append: '.min.js' %}
@@ -23,8 +30,25 @@
23
30
 
24
31
  {% if page.math %}
25
32
  <!-- MathJax -->
26
- <script defer src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
27
- <script defer src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
33
+ <script>
34
+ /* see: <https://docs.mathjax.org/en/latest/options/input/tex.html#tex-options> */
35
+ MathJax = {
36
+ tex: {
37
+ inlineMath: [ /* start/end delimiter pairs for in-line math */
38
+ ['$','$'],
39
+ ['\\(','\\)']
40
+ ],
41
+ displayMath: [ /* start/end delimiter pairs for display math */
42
+ ['$$', '$$'],
43
+ ['\\[', '\\]']
44
+ ]
45
+ }
46
+ };
47
+ </script>
48
+ <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
49
+ <script type="text/javascript" id="MathJax-script" async
50
+ src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js">
51
+ </script>
28
52
  {% endif %}
29
53
 
30
54
  {% if jekyll.environment == 'production' %}
@@ -46,7 +46,6 @@
46
46
  {% assign _content = _content | replace: '<img src="/', img_path_replacement %}
47
47
 
48
48
  <!-- lazy-load images <https://github.com/ApoorvSaxena/lozad.js#usage> -->
49
- {% assign lozad = true %}
50
49
  {% assign img_placehodler
51
50
  = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' %}
52
51
 
@@ -60,7 +59,3 @@
60
59
 
61
60
  <!-- return -->
62
61
  {{ _content }}
63
-
64
- {% if lozad %}
65
- {% include lozad.html %}
66
- {% endif %}
@@ -1,5 +1,6 @@
1
1
  <!--
2
2
  Date format snippet
3
+ See: /assets/js/_utils/timeage.js
3
4
  -->
4
5
 
5
6
  {% assign tooltip_df = site.data.date_format.tooltip | default: '%a, %b %e, %Y, %l:%M %p %z' %}
@@ -11,7 +12,10 @@
11
12
  data-toggle="tooltip"
12
13
  data-placement="bottom"
13
14
  title="{{ include.date | date: tooltip_df }}"
14
- {% endif %}>
15
+ {% endif %}
16
+
17
+ {% if include.prefix %}prefix="{{ include.prefix }} "{% endif%}
18
+ {% if include.prep %}prep="{{ include.prep }}"{% endif %} >
15
19
 
16
20
  {% assign this_year = site.time | date: "%Y" %}
17
21
  {% assign post_year = include.date | date: "%Y" %}
@@ -60,7 +60,7 @@
60
60
  <span id="search-wrapper" class="align-items-center">
61
61
  <i class="fas fa-search fa-fw"></i>
62
62
  <input class="form-control" id="search-input" type="search"
63
- aria-label="search" placeholder="{{ site.data.label.search_hint | default: 'Search' }}...">
63
+ aria-label="search" autocomplete="off" placeholder="{{ site.data.label.search_hint | default: 'Search' }}...">
64
64
  <i class="fa fa-times-circle fa-fw" id="search-cleaner"></i>
65
65
  </span>
66
66
  <span id="search-cancel" >Cancel</span>
data/_layouts/home.html CHANGED
@@ -68,7 +68,7 @@ layout: page
68
68
  {% include read-time.html content=post.content %}
69
69
 
70
70
  <!-- page views -->
71
- {% if site.google_analytics.pv.enabled %}
71
+ {% if site.google_analytics.pv.proxy_endpoint or site.google_analytics.pv.cache_path %}
72
72
  <i class="far fa-eye fa-fw"></i>
73
73
  <span id="pv_{{-post.title-}}" class="pageviews">
74
74
  <i class="fas fa-spinner fa-spin fa-fw"></i>
data/_layouts/post.html CHANGED
@@ -14,19 +14,18 @@ layout: default
14
14
  <div class="post-meta text-muted d-flex flex-column">
15
15
  <!-- Published date and author -->
16
16
  <div>
17
- {% include timeago.html date=page.date tooltip=true %}
18
- by
19
- <span class="author">
20
- {{ page.author | default: site.author }}
17
+ <span class="semi-bold">
18
+ {{ page.author | default: site.social.name }}
21
19
  </span>
20
+ {% include timeago.html date=page.date prep="on" tooltip=true %}
22
21
  </div>
23
22
 
24
23
  <div>
25
24
  <!-- lastmod -->
26
25
  {% if page.last_modified_at %}
27
26
  <span>
28
- Updated
29
- {% include timeago.html date=page.last_modified_at class="lastmod" tooltip=true %}
27
+ {% include timeago.html date=page.last_modified_at
28
+ class="lastmod" prefix="Updated" tooltip=true %}
30
29
  </span>
31
30
  {% endif %}
32
31
 
@@ -34,7 +33,7 @@ layout: default
34
33
  {% include read-time.html content=content %}
35
34
 
36
35
  <!-- page views -->
37
- {% if site.google_analytics.pv.enabled %}
36
+ {% if site.google_analytics.pv.proxy_endpoint or site.google_analytics.pv.cache_path %}
38
37
  <span id="pv" class="pageviews"><i class="fas fa-spinner fa-spin fa-fw"></i></span>
39
38
  {% endif %}
40
39