jekyll-theme-chirpy 3.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.
- checksums.yaml +7 -0
- data/404.html +20 -0
- data/LICENSE +21 -0
- data/README.md +223 -0
- data/_config.yml +204 -0
- data/_data/contact.yml +30 -0
- data/_data/date_format.yml +7 -0
- data/_data/label.yml +19 -0
- data/_data/rights.yml +11 -0
- data/_data/share.yml +27 -0
- data/_includes/css-selector.html +10 -0
- data/_includes/disqus.html +25 -0
- data/_includes/favicons.html +32 -0
- data/_includes/footer.html +29 -0
- data/_includes/google-analytics.html +14 -0
- data/_includes/head.html +80 -0
- data/_includes/js-selector.html +39 -0
- data/_includes/lozad.html +10 -0
- data/_includes/mermaid.html +29 -0
- data/_includes/mode-toggle.html +145 -0
- data/_includes/no-linenos.html +10 -0
- data/_includes/panel.html +57 -0
- data/_includes/post-nav.html +28 -0
- data/_includes/post-paginator.html +80 -0
- data/_includes/post-sharing.html +23 -0
- data/_includes/read-time.html +19 -0
- data/_includes/refactor-content.html +66 -0
- data/_includes/related-posts.html +106 -0
- data/_includes/search-loader.html +28 -0
- data/_includes/search-results.html +19 -0
- data/_includes/sidebar.html +91 -0
- data/_includes/timeago.html +27 -0
- data/_includes/topbar.html +48 -0
- data/_includes/trending-tags.html +36 -0
- data/_includes/update-list.html +24 -0
- data/_layouts/archives.html +36 -0
- data/_layouts/categories.html +100 -0
- data/_layouts/category.html +24 -0
- data/_layouts/compress.html +10 -0
- data/_layouts/default.html +51 -0
- data/_layouts/home.html +96 -0
- data/_layouts/page.html +34 -0
- data/_layouts/post.html +130 -0
- data/_layouts/tag.html +24 -0
- data/_layouts/tags.html +21 -0
- data/_plugins/posts-lastmod-hook.rb +14 -0
- data/_sass/addon/commons.scss +1629 -0
- data/_sass/addon/module.scss +118 -0
- data/_sass/addon/syntax.scss +176 -0
- data/_sass/addon/variables.scss +27 -0
- data/_sass/colors/dark-syntax.scss +84 -0
- data/_sass/colors/dark-typography.scss +135 -0
- data/_sass/colors/light-syntax.scss +75 -0
- data/_sass/colors/light-typography.scss +76 -0
- data/_sass/jekyll-theme-chirpy.scss +22 -0
- data/_sass/layout/archives.scss +137 -0
- data/_sass/layout/categories.scss +64 -0
- data/_sass/layout/category-tag.scss +66 -0
- data/_sass/layout/home.scss +156 -0
- data/_sass/layout/post.scss +349 -0
- data/_sass/layout/tags.scss +18 -0
- data/_tabs/about.md +8 -0
- data/_tabs/archives.md +7 -0
- data/_tabs/categories.md +6 -0
- data/_tabs/tags.md +6 -0
- data/app.js +8 -0
- data/assets/css/style.scss +7 -0
- data/assets/img/favicons/android-icon-144x144.png +0 -0
- data/assets/img/favicons/android-icon-192x192.png +0 -0
- data/assets/img/favicons/android-icon-36x36.png +0 -0
- data/assets/img/favicons/android-icon-48x48.png +0 -0
- data/assets/img/favicons/android-icon-72x72.png +0 -0
- data/assets/img/favicons/android-icon-96x96.png +0 -0
- data/assets/img/favicons/apple-icon-114x114.png +0 -0
- data/assets/img/favicons/apple-icon-120x120.png +0 -0
- data/assets/img/favicons/apple-icon-144x144.png +0 -0
- data/assets/img/favicons/apple-icon-152x152.png +0 -0
- data/assets/img/favicons/apple-icon-180x180.png +0 -0
- data/assets/img/favicons/apple-icon-57x57.png +0 -0
- data/assets/img/favicons/apple-icon-60x60.png +0 -0
- data/assets/img/favicons/apple-icon-72x72.png +0 -0
- data/assets/img/favicons/apple-icon-76x76.png +0 -0
- data/assets/img/favicons/apple-icon-precomposed.png +0 -0
- data/assets/img/favicons/apple-icon.png +0 -0
- data/assets/img/favicons/browserconfig.xml +20 -0
- data/assets/img/favicons/favicon-16x16.png +0 -0
- data/assets/img/favicons/favicon-32x32.png +0 -0
- data/assets/img/favicons/favicon-96x96.png +0 -0
- data/assets/img/favicons/favicon.ico +0 -0
- data/assets/img/favicons/manifest.json +58 -0
- data/assets/img/favicons/ms-icon-144x144.png +0 -0
- data/assets/img/favicons/ms-icon-150x150.png +0 -0
- data/assets/img/favicons/ms-icon-310x310.png +0 -0
- data/assets/img/favicons/ms-icon-70x70.png +0 -0
- data/assets/js/data/cache-list.js +69 -0
- data/assets/js/data/search.json +17 -0
- data/assets/js/dist/categories.min.js +6 -0
- data/assets/js/dist/home.min.js +6 -0
- data/assets/js/dist/page.min.js +6 -0
- data/assets/js/dist/post.min.js +6 -0
- data/assets/js/dist/pvreport.min.js +6 -0
- data/assets/js/lib/jquery.disqusloader.min.js +8 -0
- data/feed.xml +60 -0
- data/index.html +4 -0
- data/robots.txt +10 -0
- data/sw.js +61 -0
- metadata +247 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Chirpy v3.0.1 (https://github.com/cotes2020/jekyll-theme-chirpy/)
|
|
3
|
+
* © 2021 Cotes Chung
|
|
4
|
+
* MIT Licensed
|
|
5
|
+
*/
|
|
6
|
+
function copyLink(e){e&&0!==e.length||(e=window.location.href);const t=$("<input>");$("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove(),alert("Link copied successfully!")}$(function(){$(window).scroll(()=>{$(this).scrollTop()>50&&"none"===$("#sidebar-trigger").css("display")?$("#back-to-top").fadeIn():$("#back-to-top").fadeOut()}),$("#back-to-top").click(()=>($("body,html").animate({scrollTop:0},800),!1))}),$(function(){$("input[type=checkbox]").addClass("unloaded"),$("input[type=checkbox][checked]").before('<i class="fas fa-check-circle checked"></i>'),$("input[type=checkbox]:not([checked])").before('<i class="far fa-circle"></i>')}),$(function(){const e=$("#sidebar-trigger"),t=$("#search-trigger"),o=$("#search-cancel"),s=$("#search-cleaner"),a=$("#main"),l=$("#topbar-title"),n=$("#search-wrapper"),c=$("#search-result-wrapper"),r=$("#search-results"),i=$("#search-input"),d=$("#search-hints"),u=function(){let e=0;return{block(){e=$(window).scrollTop()},release(){$("html,body").scrollTop(e)},getOffset:()=>e}}(),f={on(){e.addClass("unloaded"),l.addClass("unloaded"),t.addClass("unloaded"),n.addClass("d-flex"),o.addClass("loaded")},off(){o.removeClass("loaded"),n.removeClass("d-flex"),e.removeClass("unloaded"),l.removeClass("unloaded"),t.removeClass("unloaded")}},p=function(){let e=!1;return{on(){e||(c.removeClass("unloaded"),a.addClass("hidden"),e=!0,u.block())},off(){e&&(r.empty(),d.hasClass("unloaded")&&d.removeClass("unloaded"),c.addClass("unloaded"),s.removeClass("visible"),a.removeClass("hidden"),i.val(""),e=!1,u.release())},isVisible:()=>e}}();function h(){return o.hasClass("loaded")}t.click(function(){f.on(),p.on(),i.focus()}),o.click(function(){f.off(),p.off()}),i.focus(function(){n.addClass("input-focus")}),i.focusout(function(){n.removeClass("input-focus")}),i.on("keyup",function(e){8===e.keyCode&&""===i.val()?h()?d.removeClass("unloaded"):p.off():""!==i.val()&&(p.on(),s.hasClass("visible")||s.addClass("visible"),h()&&d.addClass("unloaded"))}),s.on("click",function(){i.val(""),h()?(d.removeClass("unloaded"),r.empty()):p.off(),i.focus(),s.removeClass("visible")})}),$(function(){const e=function(){let e=!1;const t=$("body");return{toggle(){!1===e?t.attr("sidebar-display",""):t.removeAttr("sidebar-display"),e=!e}}}();$("#sidebar-trigger").click(e.toggle),$("#mask").click(e.toggle)}),$(function(){$('[data-toggle="tooltip"]').tooltip()}),$(function(){const e=$("#topbar-wrapper"),t=$("#toc-wrapper"),o=$(".access"),s=$("#search-input");let a,l=0;const n=5,c=e.outerHeight();$(window).scroll(function(e){$("#topbar-title").is(":hidden")&&(a=!0)}),setInterval(function(){a&&(!function(){var a=$(this).scrollTop();Math.abs(l-a)<=n||(a>l&&a>c?(e.removeClass("topbar-down").addClass("topbar-up"),t.length>0&&t.removeClass("topbar-down"),o.length>0&&o.removeClass("topbar-down"),s.is(":focus")&&s.blur()):a+$(window).height()<$(document).height()&&(e.removeClass("topbar-up").addClass("topbar-down"),t.length>0&&t.addClass("topbar-down"),o.length>0&&o.addClass("topbar-down")),l=a)}(),a=!1)},250)}),$(function(){const e=$("#topbar-title"),t=$("div.post>h1"),o=e.text().trim();let s=t.length>0?t.text().trim():$("h1").text().trim();($("#page-category").length||$("#page-tag").length)&&/\s/.test(s)&&(s=s.replace(/[0-9]/g,"").trim()),$(window).scroll(function(){if($("#post-list").length||t.is(":hidden")||e.is(":hidden")||$("#sidebar.sidebar-expand").length)return!1;$(this).scrollTop()>=95?e.text()!==s&&e.text(s):e.text()!==o&&e.text(o)}),e.click(function(){$("body,html").animate({scrollTop:0},800)})}),$(function(){$("a[href*='#']").not("[href='#']").not("[href='#0']").click(function(e){if(this.pathname.replace(/^\//,"")===location.pathname.replace(/^\//,"")&&location.hostname===this.hostname){const t=16,o=decodeURI(this.hash);let s=RegExp(/^#fnref:/).test(o),a=RegExp(/^#fn:/).test(o),l=o.includes(":")?o.replace(/\:/,"\\:"):o,n=$(l);if(n.length){e.preventDefault(),history.pushState&&history.pushState(null,null,o);let l=$(this).offset().top,c=n.offset().top;const r=c<l,i=$("#topbar-wrapper").outerHeight();r&&s&&(c-=i+t/2),$("html,body").animate({scrollTop:c},800,()=>{const e=$(n);e.focus();if($("[scroll-focus=true]").length&&$("[scroll-focus=true]").attr("scroll-focus",!1),$(":target").length&&$(":target").attr("scroll-focus",!1),(a||s)&&e.attr("scroll-focus",!0),e.is(":focus"))return!1;e.attr("tabindex","-1"),e.focus()})}}})});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Chirpy v3.0.1 (https://github.com/cotes2020/jekyll-theme-chirpy/)
|
|
3
|
+
* © 2021 Cotes Chung
|
|
4
|
+
* MIT Licensed
|
|
5
|
+
*/
|
|
6
|
+
function copyLink(e){e&&0!==e.length||(e=window.location.href);const t=$("<input>");$("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove(),alert("Link copied successfully!")}$(function(){$(window).scroll(()=>{$(this).scrollTop()>50&&"none"===$("#sidebar-trigger").css("display")?$("#back-to-top").fadeIn():$("#back-to-top").fadeOut()}),$("#back-to-top").click(()=>($("body,html").animate({scrollTop:0},800),!1))}),$(function(){$("input[type=checkbox]").addClass("unloaded"),$("input[type=checkbox][checked]").before('<i class="fas fa-check-circle checked"></i>'),$("input[type=checkbox]:not([checked])").before('<i class="far fa-circle"></i>')}),$(function(){const e=$("#sidebar-trigger"),t=$("#search-trigger"),o=$("#search-cancel"),s=$("#search-cleaner"),a=$("#main"),n=$("#topbar-title"),l=$("#search-wrapper"),r=$("#search-result-wrapper"),i=$("#search-results"),c=$("#search-input"),d=$("#search-hints"),u=function(){let e=0;return{block(){e=$(window).scrollTop()},release(){$("html,body").scrollTop(e)},getOffset:()=>e}}(),h={on(){e.addClass("unloaded"),n.addClass("unloaded"),t.addClass("unloaded"),l.addClass("d-flex"),o.addClass("loaded")},off(){o.removeClass("loaded"),l.removeClass("d-flex"),e.removeClass("unloaded"),n.removeClass("unloaded"),t.removeClass("unloaded")}},f=function(){let e=!1;return{on(){e||(r.removeClass("unloaded"),a.addClass("hidden"),e=!0,u.block())},off(){e&&(i.empty(),d.hasClass("unloaded")&&d.removeClass("unloaded"),r.addClass("unloaded"),s.removeClass("visible"),a.removeClass("hidden"),c.val(""),e=!1,u.release())},isVisible:()=>e}}();function p(){return o.hasClass("loaded")}t.click(function(){h.on(),f.on(),c.focus()}),o.click(function(){h.off(),f.off()}),c.focus(function(){l.addClass("input-focus")}),c.focusout(function(){l.removeClass("input-focus")}),c.on("keyup",function(e){8===e.keyCode&&""===c.val()?p()?d.removeClass("unloaded"):f.off():""!==c.val()&&(f.on(),s.hasClass("visible")||s.addClass("visible"),p()&&d.addClass("unloaded"))}),s.on("click",function(){c.val(""),p()?(d.removeClass("unloaded"),i.empty()):f.off(),c.focus(),s.removeClass("visible")})}),$(function(){const e=function(){let e=!1;const t=$("body");return{toggle(){!1===e?t.attr("sidebar-display",""):t.removeAttr("sidebar-display"),e=!e}}}();$("#sidebar-trigger").click(e.toggle),$("#mask").click(e.toggle)}),$(function(){$('[data-toggle="tooltip"]').tooltip()}),$(function(){const e=$("#topbar-wrapper"),t=$("#toc-wrapper"),o=$(".access"),s=$("#search-input");let a,n=0;const l=5,r=e.outerHeight();$(window).scroll(function(e){$("#topbar-title").is(":hidden")&&(a=!0)}),setInterval(function(){a&&(!function(){var a=$(this).scrollTop();Math.abs(n-a)<=l||(a>n&&a>r?(e.removeClass("topbar-down").addClass("topbar-up"),t.length>0&&t.removeClass("topbar-down"),o.length>0&&o.removeClass("topbar-down"),s.is(":focus")&&s.blur()):a+$(window).height()<$(document).height()&&(e.removeClass("topbar-up").addClass("topbar-down"),t.length>0&&t.addClass("topbar-down"),o.length>0&&o.addClass("topbar-down")),n=a)}(),a=!1)},250)}),$(function(){const e=$("#topbar-title"),t=$("div.post>h1"),o=e.text().trim();let s=t.length>0?t.text().trim():$("h1").text().trim();($("#page-category").length||$("#page-tag").length)&&/\s/.test(s)&&(s=s.replace(/[0-9]/g,"").trim()),$(window).scroll(function(){if($("#post-list").length||t.is(":hidden")||e.is(":hidden")||$("#sidebar.sidebar-expand").length)return!1;$(this).scrollTop()>=95?e.text()!==s&&e.text(s):e.text()!==o&&e.text(o)}),e.click(function(){$("body,html").animate({scrollTop:0},800)})}),$(function(){let e=$(".timeago").length,t=void 0;function o(){return $(".timeago").each(function(){if($(this).children("i").length>0){$(this).text();let t=$(this).hasClass("lastmod"),o=$(this).children("i"),s=o.text();$(this).text(function(t,o){let s=new Date,a=new Date(t);if(a.getFullYear()!==s.getFullYear())return e-=1,a.toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric"});if(a.getMonth()!==s.getMonth())return e-=1,a.toLocaleString("en-US",{month:"short",day:"numeric"});let n=Math.floor((s-a)/1e3),l=Math.floor(n/86400);if(l>=1)return e-=1,l+" day"+(l>1?"s":"")+" ago";let r=Math.floor(n/3600);if(r>=1)return r+" hour"+(r>1?"s":"")+" ago";let i=Math.floor(n/60);return i>=1?i+" minute"+(i>1?"s":"")+" ago":(o?"just":"Just")+" now"}(s,t)),$(this).append(o)}}),0===e&&void 0!==t&&clearInterval(t),e}0!==e&&o()>0&&(t=setInterval(o,6e4))}),$(function(){$("a:has(img)").addClass("img-hyperlink")}),$(function(){const e=new RegExp("^language-([a-z])+$");$("div[class^=language-").each(function(){$(this).attr("class").split(" ").forEach(t=>{if(e.test(t)){let e=t.substring("language-".length);$(this).attr("lang",`${e}`)}})})}),$(function(){$("a[href*='#']").not("[href='#']").not("[href='#0']").click(function(e){if(this.pathname.replace(/^\//,"")===location.pathname.replace(/^\//,"")&&location.hostname===this.hostname){const t=16,o=decodeURI(this.hash);let s=RegExp(/^#fnref:/).test(o),a=RegExp(/^#fn:/).test(o),n=o.includes(":")?o.replace(/\:/,"\\:"):o,l=$(n);if(l.length){e.preventDefault(),history.pushState&&history.pushState(null,null,o);let n=$(this).offset().top,r=l.offset().top;const i=r<n,c=$("#topbar-wrapper").outerHeight();i&&s&&(r-=c+t/2),$("html,body").animate({scrollTop:r},800,()=>{const e=$(l);e.focus();if($("[scroll-focus=true]").length&&$("[scroll-focus=true]").attr("scroll-focus",!1),$(":target").length&&$(":target").attr("scroll-focus",!1),(a||s)&&e.attr("scroll-focus",!0),e.is(":focus"))return!1;e.attr("tabindex","-1"),e.focus()})}}})});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Chirpy v3.0.1 (https://github.com/cotes2020/jekyll-theme-chirpy/)
|
|
3
|
+
* © 2021 Cotes Chung
|
|
4
|
+
* MIT Licensed
|
|
5
|
+
*/
|
|
6
|
+
const getInitStatus=function(){let e=!1;return()=>{let t=e;return e||(e=!0),t}}(),PvOpts={isEnabled:()=>"true"===$("meta[name=pv-cache-enabled]").attr("content"),getProxyEndpoint:()=>$("meta[name=pv-proxy-endpoint]").attr("content"),getLocalData:()=>$("meta[name=pv-cache-data]").attr("content")},PvCache=function(){const e="origin",t="proxy";function a(e){return localStorage.getItem(e)}function n(e,t){localStorage.setItem(e,t)}return{getData:()=>JSON.parse(localStorage.getItem("pv")),saveOriginCache(t){n("pv",t),n("pv_source",e),n("pv_created_date",(new Date).toJSON())},saveProxyCache(e){n("pv",e),n("pv_source",t),n("pv_created_date",(new Date).toJSON())},isFromOrigin:()=>a("pv_source")===e,isFromProxy:()=>a("pv_source")===t,isExpired(){if(PvCache.isFromOrigin()){let e=new Date(a("pv_created_date"));return e.setDate(e.getDate()+1),Date.now()>=e.getTime()}if(PvCache.isFromProxy()){let e=new Date(a("pv_created_date"));return e.setHours(e.getHours()+1),Date.now()>=e.getTime()}return!1},getAllPageviews:()=>PvCache.getData().totalsForAllResults["ga:pageviews"],newerThan:e=>PvCache.getAllPageviews()>e.totalsForAllResults["ga:pageviews"],inspectKeys(){null!==localStorage.getItem("pv")&&null!==localStorage.getItem("pv_source")&&null!==localStorage.getItem("pv_created_date")||localStorage.clear()}}}();function countUp(e,t,a){if(e<t){let n=new CountUp(a,e,t);n.error?console.error(n.error):n.start()}}function countPV(e,t){let a=0;if(void 0!==t)for(let n=0;n<t.length;++n){if(t[parseInt(n,10)][0]===e){a+=parseInt(t[parseInt(n,10)][1],10);break}}return a}function tacklePV(e,t,a,n){let r=countPV(t,e);if(r=0===r?1:r,n){const e=parseInt(a.text().replace(/,/g,""),10);r>e&&countUp(e,r,a.attr("id"))}else a.text((new Intl.NumberFormat).format(r))}function displayPageviews(e){if(void 0===e)return;let t=getInitStatus();const a=e.rows;if($("#post-list").length>0)$(".post-preview").each(function(){const e=$(this).find("a").attr("href");tacklePV(a,e,$(this).find(".pageviews"),t)});else if($(".post").length>0){const e=window.location.pathname;tacklePV(a,e,$("#pv"),t)}}function fetchProxyPageviews(){$.ajax({type:"GET",url:PvOpts.getProxyEndpoint(),dataType:"jsonp",jsonpCallback:"displayPageviews",success:(e,t,a)=>{PvCache.saveProxyCache(JSON.stringify(e))},error:(e,t,a)=>{console.log("Failed to load pageviews from proxy server: "+a)}})}function fetchPageviews(e=!0,t=!1){PvOpts.isEnabled()&&e?fetch(PvOpts.getLocalData()).then(e=>e.json()).then(e=>{t&&PvCache.newerThan(e)||(displayPageviews(e),PvCache.saveOriginCache(JSON.stringify(e)))}).then(()=>fetchProxyPageviews()):fetchProxyPageviews()}$(function(){if($(".pageviews").length>0){PvCache.inspectKeys();let e=PvCache.getData();e?(displayPageviews(e),PvCache.isExpired()?fetchPageviews(!0,PvCache.isFromProxy()):PvCache.isFromOrigin()&&fetchPageviews(!1)):fetchPageviews()}});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
disqusLoader.js v1.0
|
|
3
|
+
A JavaScript plugin for lazy-loading Disqus comments widget.
|
|
4
|
+
-
|
|
5
|
+
By Osvaldas Valutis, www.osvaldas.info
|
|
6
|
+
Available for use under the MIT License
|
|
7
|
+
*/
|
|
8
|
+
(function(e,g,h,d){var a=e(g),k=function(o,n){var q,p;return function(){var t=this,s=arguments,r=+new Date;q&&r<q+o?(clearTimeout(p),p=setTimeout(function(){q=r,n.apply(t,s)},o)):(q=r,n.apply(t,s))}},m=false,j=false,i=false,c=false,f="unloaded",b=e(),l=function(){if(!b.length||b.data("disqusLoaderStatus")=="loaded"){return true}var n=a.scrollTop();if(b.offset().top-n>a.height()*j||n-b.offset().top-b.outerHeight()-(a.height()*j)>0){return true}e("#disqus_thread").removeAttr("id");b.attr("id","disqus_thread").data("disqusLoaderStatus","loaded");if(f=="loaded"){DISQUS.reset({reload:true,config:i})}else{g.disqus_config=i;if(f=="unloaded"){f="loading";e.ajax({url:c,async:true,cache:true,dataType:"script",success:function(){f="loaded"}})}}};a.on("scroll resize",k(m,l));e.disqusLoader=function(o,n){n=e.extend({},{laziness:1,throttle:250,scriptUrl:false,disqusConfig:false},n);j=n.laziness+1;m=n.throttle;i=n.disqusConfig;c=c===false?n.scriptUrl:c;b=(typeof o=="string"?e(o):o).eq(0);b.data("disqusLoaderStatus","unloaded");l()}})(jQuery,window,document);
|
data/feed.xml
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: compress
|
|
3
|
+
# Atom Feed, reference: https://validator.w3.org/feed/docs/atom.html
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
{% capture source %}
|
|
7
|
+
<feed xmlns="http://www.w3.org/2005/Atom">
|
|
8
|
+
<id>{{ "/" | absolute_url }}</id>
|
|
9
|
+
<title>{{ site.title }}</title>
|
|
10
|
+
<subtitle>{{ site.description }}</subtitle>
|
|
11
|
+
<updated>{{ site.time | date_to_xmlschema }}</updated>
|
|
12
|
+
<author>
|
|
13
|
+
<name>{{ site.author }}</name>
|
|
14
|
+
<uri>{{ "/" | absolute_url }}</uri>
|
|
15
|
+
</author>
|
|
16
|
+
<link rel="self" type="application/atom+xml" href="{{ page.url | absolute_url }}"/>
|
|
17
|
+
<link rel="alternate" type="text/html" hreflang="{{ site.lang | default: 'en' }}"
|
|
18
|
+
href="{{ '/' | absolute_url }}"/>
|
|
19
|
+
<generator uri="https://jekyllrb.com/" version="{{ jekyll.version }}">Jekyll</generator>
|
|
20
|
+
<rights> © {{ 'now' | date: '%Y' }} {{ site.author }} </rights>
|
|
21
|
+
<icon>{{ site.baseurl }}/assets/img/favicons/favicon.ico</icon>
|
|
22
|
+
<logo>{{ site.baseurl }}/assets/img/favicons/favicon-96x96.png</logo>
|
|
23
|
+
|
|
24
|
+
{% for post in site.posts limit: 5 %}
|
|
25
|
+
{% assign post_absolute_url = post.url | absolute_url %}
|
|
26
|
+
<entry>
|
|
27
|
+
<title>{{ post.title }}</title>
|
|
28
|
+
<link href="{{ post_absolute_url }}" rel="alternate" type="text/html" title="{{ post.title }}" />
|
|
29
|
+
<published>{{ post.date | date_to_xmlschema }}</published>
|
|
30
|
+
{% if post.last_modified_at %}
|
|
31
|
+
<updated>{{ post.last_modified_at | date_to_xmlschema }}</updated>
|
|
32
|
+
{% else %}
|
|
33
|
+
<updated>{{ post.date | date_to_xmlschema }}</updated>
|
|
34
|
+
{% endif %}
|
|
35
|
+
<id>{{ post_absolute_url }}</id>
|
|
36
|
+
<content src="{{ post_absolute_url }}" />
|
|
37
|
+
<author>
|
|
38
|
+
<name>{{ site.author }}</name>
|
|
39
|
+
</author>
|
|
40
|
+
|
|
41
|
+
{% if post.categories %}
|
|
42
|
+
{% for category in post.categories %}
|
|
43
|
+
<category term="{{ category }}" />
|
|
44
|
+
{% endfor %}
|
|
45
|
+
{% endif %}
|
|
46
|
+
|
|
47
|
+
{% if post.summary %}
|
|
48
|
+
<summary>{{ post.summary | strip }}</summary>
|
|
49
|
+
{% else %}
|
|
50
|
+
<summary>
|
|
51
|
+
{% include no-linenos.html content=post.content %}
|
|
52
|
+
{{ content | strip_html | truncate: 400 }}
|
|
53
|
+
</summary>
|
|
54
|
+
{% endif %}
|
|
55
|
+
|
|
56
|
+
</entry>
|
|
57
|
+
{% endfor %}
|
|
58
|
+
</feed>
|
|
59
|
+
{% endcapture %}
|
|
60
|
+
{{ source | replace: '&', '&' }}
|
data/index.html
ADDED
data/robots.txt
ADDED
data/sw.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: compress
|
|
3
|
+
# PWA service worker
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
self.importScripts('{{ "/assets/js/data/cache-list.js" | relative_url }}');
|
|
7
|
+
|
|
8
|
+
var cacheName = 'chirpy-{{ "now" | date: "%Y%m%d.%H%M" }}';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
function isExcluded(url) {
|
|
12
|
+
const regex = /(^http(s)?|^\/)/; /* the regex for CORS url or relative url */
|
|
13
|
+
for (const rule of exclude) {
|
|
14
|
+
if (!regex.test(url) ||
|
|
15
|
+
url.indexOf(rule) != -1) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
self.addEventListener('install', (e) => {
|
|
24
|
+
self.skipWaiting();
|
|
25
|
+
e.waitUntil(
|
|
26
|
+
caches.open(cacheName).then((cache) => {
|
|
27
|
+
return cache.addAll(include);
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
self.addEventListener('fetch', (e) => {
|
|
34
|
+
e.respondWith(
|
|
35
|
+
caches.match(e.request).then((r) => {
|
|
36
|
+
/* console.log('[Service Worker] Fetching resource: ' + e.request.url); */
|
|
37
|
+
return r || fetch(e.request).then((response) => {
|
|
38
|
+
return caches.open(cacheName).then((cache) => {
|
|
39
|
+
if (!isExcluded(e.request.url)) {
|
|
40
|
+
/* console.log('[Service Worker] Caching new resource: ' + e.request.url); */
|
|
41
|
+
cache.put(e.request, response.clone());
|
|
42
|
+
}
|
|
43
|
+
return response;
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
self.addEventListener('activate', (e) => {
|
|
52
|
+
e.waitUntil(
|
|
53
|
+
caches.keys().then((keyList) => {
|
|
54
|
+
return Promise.all(keyList.map((key) => {
|
|
55
|
+
if(key !== cacheName) {
|
|
56
|
+
return caches.delete(key);
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
})
|
|
60
|
+
);
|
|
61
|
+
});
|
metadata
ADDED
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: jekyll-theme-chirpy
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 3.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Cotes Chung
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2021-01-26 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: jekyll
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '4.1'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '4.1'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: jekyll-paginate
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '1.1'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '1.1'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: jekyll-redirect-from
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0.16'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0.16'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: jekyll-seo-tag
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '2.7'
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '2.7'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: jekyll-archives
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '2.2'
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '2.2'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: jekyll-sitemap
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.4'
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '1.4'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: html-proofer
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '3.18'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '3.18'
|
|
111
|
+
description:
|
|
112
|
+
email:
|
|
113
|
+
- cotes.chung@gmail.com
|
|
114
|
+
executables: []
|
|
115
|
+
extensions: []
|
|
116
|
+
extra_rdoc_files: []
|
|
117
|
+
files:
|
|
118
|
+
- 404.html
|
|
119
|
+
- LICENSE
|
|
120
|
+
- README.md
|
|
121
|
+
- _config.yml
|
|
122
|
+
- _data/contact.yml
|
|
123
|
+
- _data/date_format.yml
|
|
124
|
+
- _data/label.yml
|
|
125
|
+
- _data/rights.yml
|
|
126
|
+
- _data/share.yml
|
|
127
|
+
- _includes/css-selector.html
|
|
128
|
+
- _includes/disqus.html
|
|
129
|
+
- _includes/favicons.html
|
|
130
|
+
- _includes/footer.html
|
|
131
|
+
- _includes/google-analytics.html
|
|
132
|
+
- _includes/head.html
|
|
133
|
+
- _includes/js-selector.html
|
|
134
|
+
- _includes/lozad.html
|
|
135
|
+
- _includes/mermaid.html
|
|
136
|
+
- _includes/mode-toggle.html
|
|
137
|
+
- _includes/no-linenos.html
|
|
138
|
+
- _includes/panel.html
|
|
139
|
+
- _includes/post-nav.html
|
|
140
|
+
- _includes/post-paginator.html
|
|
141
|
+
- _includes/post-sharing.html
|
|
142
|
+
- _includes/read-time.html
|
|
143
|
+
- _includes/refactor-content.html
|
|
144
|
+
- _includes/related-posts.html
|
|
145
|
+
- _includes/search-loader.html
|
|
146
|
+
- _includes/search-results.html
|
|
147
|
+
- _includes/sidebar.html
|
|
148
|
+
- _includes/timeago.html
|
|
149
|
+
- _includes/topbar.html
|
|
150
|
+
- _includes/trending-tags.html
|
|
151
|
+
- _includes/update-list.html
|
|
152
|
+
- _layouts/archives.html
|
|
153
|
+
- _layouts/categories.html
|
|
154
|
+
- _layouts/category.html
|
|
155
|
+
- _layouts/compress.html
|
|
156
|
+
- _layouts/default.html
|
|
157
|
+
- _layouts/home.html
|
|
158
|
+
- _layouts/page.html
|
|
159
|
+
- _layouts/post.html
|
|
160
|
+
- _layouts/tag.html
|
|
161
|
+
- _layouts/tags.html
|
|
162
|
+
- _plugins/posts-lastmod-hook.rb
|
|
163
|
+
- _sass/addon/commons.scss
|
|
164
|
+
- _sass/addon/module.scss
|
|
165
|
+
- _sass/addon/syntax.scss
|
|
166
|
+
- _sass/addon/variables.scss
|
|
167
|
+
- _sass/colors/dark-syntax.scss
|
|
168
|
+
- _sass/colors/dark-typography.scss
|
|
169
|
+
- _sass/colors/light-syntax.scss
|
|
170
|
+
- _sass/colors/light-typography.scss
|
|
171
|
+
- _sass/jekyll-theme-chirpy.scss
|
|
172
|
+
- _sass/layout/archives.scss
|
|
173
|
+
- _sass/layout/categories.scss
|
|
174
|
+
- _sass/layout/category-tag.scss
|
|
175
|
+
- _sass/layout/home.scss
|
|
176
|
+
- _sass/layout/post.scss
|
|
177
|
+
- _sass/layout/tags.scss
|
|
178
|
+
- _tabs/about.md
|
|
179
|
+
- _tabs/archives.md
|
|
180
|
+
- _tabs/categories.md
|
|
181
|
+
- _tabs/tags.md
|
|
182
|
+
- app.js
|
|
183
|
+
- assets/css/style.scss
|
|
184
|
+
- assets/img/favicons/android-icon-144x144.png
|
|
185
|
+
- assets/img/favicons/android-icon-192x192.png
|
|
186
|
+
- assets/img/favicons/android-icon-36x36.png
|
|
187
|
+
- assets/img/favicons/android-icon-48x48.png
|
|
188
|
+
- assets/img/favicons/android-icon-72x72.png
|
|
189
|
+
- assets/img/favicons/android-icon-96x96.png
|
|
190
|
+
- assets/img/favicons/apple-icon-114x114.png
|
|
191
|
+
- assets/img/favicons/apple-icon-120x120.png
|
|
192
|
+
- assets/img/favicons/apple-icon-144x144.png
|
|
193
|
+
- assets/img/favicons/apple-icon-152x152.png
|
|
194
|
+
- assets/img/favicons/apple-icon-180x180.png
|
|
195
|
+
- assets/img/favicons/apple-icon-57x57.png
|
|
196
|
+
- assets/img/favicons/apple-icon-60x60.png
|
|
197
|
+
- assets/img/favicons/apple-icon-72x72.png
|
|
198
|
+
- assets/img/favicons/apple-icon-76x76.png
|
|
199
|
+
- assets/img/favicons/apple-icon-precomposed.png
|
|
200
|
+
- assets/img/favicons/apple-icon.png
|
|
201
|
+
- assets/img/favicons/browserconfig.xml
|
|
202
|
+
- assets/img/favicons/favicon-16x16.png
|
|
203
|
+
- assets/img/favicons/favicon-32x32.png
|
|
204
|
+
- assets/img/favicons/favicon-96x96.png
|
|
205
|
+
- assets/img/favicons/favicon.ico
|
|
206
|
+
- assets/img/favicons/manifest.json
|
|
207
|
+
- assets/img/favicons/ms-icon-144x144.png
|
|
208
|
+
- assets/img/favicons/ms-icon-150x150.png
|
|
209
|
+
- assets/img/favicons/ms-icon-310x310.png
|
|
210
|
+
- assets/img/favicons/ms-icon-70x70.png
|
|
211
|
+
- assets/js/data/cache-list.js
|
|
212
|
+
- assets/js/data/search.json
|
|
213
|
+
- assets/js/dist/categories.min.js
|
|
214
|
+
- assets/js/dist/home.min.js
|
|
215
|
+
- assets/js/dist/page.min.js
|
|
216
|
+
- assets/js/dist/post.min.js
|
|
217
|
+
- assets/js/dist/pvreport.min.js
|
|
218
|
+
- assets/js/lib/jquery.disqusloader.min.js
|
|
219
|
+
- feed.xml
|
|
220
|
+
- index.html
|
|
221
|
+
- robots.txt
|
|
222
|
+
- sw.js
|
|
223
|
+
homepage: https://github.com/cotes2020/jekyll-theme-chirpy#readme
|
|
224
|
+
licenses:
|
|
225
|
+
- MIT
|
|
226
|
+
metadata: {}
|
|
227
|
+
post_install_message:
|
|
228
|
+
rdoc_options: []
|
|
229
|
+
require_paths:
|
|
230
|
+
- lib
|
|
231
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
232
|
+
requirements:
|
|
233
|
+
- - ">="
|
|
234
|
+
- !ruby/object:Gem::Version
|
|
235
|
+
version: '0'
|
|
236
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
|
+
requirements:
|
|
238
|
+
- - ">="
|
|
239
|
+
- !ruby/object:Gem::Version
|
|
240
|
+
version: '0'
|
|
241
|
+
requirements: []
|
|
242
|
+
rubygems_version: 3.1.4
|
|
243
|
+
signing_key:
|
|
244
|
+
specification_version: 4
|
|
245
|
+
summary: Chirpy is a minimal, sidebar, responsive web design Jekyll theme that focuses
|
|
246
|
+
on text presentation.
|
|
247
|
+
test_files: []
|