Open xgqfrms opened 1 year ago
SSG, static site generator,静态站点生成
DSG, dynamic site generator, 动态站点生成
SSR, server side render, 服务端渲染
侧边栏
<!-- <!DOCTYPE html ⚡️amp> -->
<!DOCTYPE html>
<head>
<title>xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs!</title>
</head>
<!-- https://amp.xgqfrms.xyz/ -->
<blockquote style="display: flex; flex-flow: column; align-items: center; justify-content: center; text-align: center; border: none;">
<h3>
<strong>
<span style="font-size: 16pt; color: #00ff00;">© xgqfrms 2012-<span data-uid="copyright-aside">2020</span></span>
</strong>
</h3>
<!-- SEO -->
<section data-uid="seo-flag"></section>
<!-- <a href="https://s11.flagcounter.com/count2/QIXi" data-flagcounter="a">
<img data-flagcounter="img" src="https://s11.flagcounter.com/count2/QIXi/bg_000000/txt_00FF00/border_FF00FF/columns_3/maxflags_12/viewers_0/labels_1/pageviews_1/flags_0/percent_1/" alt="cnblogs" border="0" />
</a> -->
</blockquote>
<!-- <div>
<a href="https://info.flagcounter.com/QIXi">
<img src="https://s11.flagcounter.com/count2/QIXi/bg_000000/txt_00FF00/border_FF00FF/columns_3/maxflags_12/viewers_0/labels_1/pageviews_1/flags_0/percent_1/" alt="Flag Counter" border="0">
</a>
</div> -->
<script defer>
// after load
setTimeout(() => {
console.log(`👻 auto remove vote down`);
const voteDown = document.querySelector(`[class="buryit"]`);
// document.querySelector(`.buryit`);
// voteDown.parentElement.removeChild(voteDown);
voteDown.remove();
}, 0);
</script>
页首
<!-- <!DOCTYPE html ⚡️amp> -->
<!-- <!DOCTYPE html> -->
<!DOCTYPE html>
<html lang="zh-Hans" manifest="manifest.appcache">
<head>
<meta charset="UTF-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async src="https://cdn.ampproject.org/v0.js"></script>
<!-- <title>Hello, AMPs</title>-->
<title>xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs!</title>
<link rel="canonical" href="https://www.cnblogs.com/xgqfrms//">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<script type="application/ld+json">
{
"@context": "https://www.cnblogs.com/xgqfrms/",
"@type": "Blogs",
"headline": "xgqfrms, cnblogs, blogs",
"datePublished": "2020-04-01T12:02:41Z",
"image": [
"https://cdn.xgqfrms.xyz/logo/icon.png"
]
}
</script>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="author" content="xgqfrms">
<meta name="generator" content="VS code">
<title>xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!</title>
<link rel="icon" href="images/logo.png" type="image/png">
<link rel="icon" href="./favicon.ico" type="image/x-icon">
<!-- SEO meta -->
<link rel="author" type="text/plain" href="https://www.xgqfrms.xyz/humans.txt" />
<link rel="manifest" href="manifest.json">
<link rel="shortlink" href="https://xgqfrms.xyz/">
<link rel="copyright" href="https://xgqfrms.xyz/copyright.html">
<!-- 预呈现和预提取支持:https://msdn.microsoft.com/library/dn265039(v=vs.85).aspx -->
<!--
<link rel="prerender" href="https://www.webgeeker.xyz/index.html" />
<link rel="prefetch" href="https://www.webgeeker.xyz/css/style.css" />
<link rel="dns-prefetch" href="https://www.webgeeker.xyz/" />
-->
<!-- Content Security Policy:内容安全策略(CSP) -->
<!--
<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src 'cdn.xgqfrms.xyz'; child-src 'https: https:'">
-->
<!--
https://realfavicongenerator.net/
https://css-tricks.com/favicon-quiz/
-->
<link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="/manifest.json">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#00ff00">
<meta name="msapplication-TileColor" content="#2d89ef">
<meta name="msapplication-TileImage" content="/mstile-144x144.png">
<meta name="theme-color" content="#00ccff">
<!-- HEAD -->
<!-- <meta name="robots" content="noindex" /> -->
<meta name="author" content="xgqfrms, webgeeker">
<meta name="keywords" content="xgqfrms, webgeeker, github, xgqfrms.xyz, webgeeker.xyz, Tutorials, ES5 ES6 ES7, React 2, Angular 2, Ionic 2">
<meta name="description" content="xgqfrms.xyz : xgqfrms's offical website of GitHub! & xgqfrms, webgeeker, github, xgqfrms.xyz, webgeeker.xyz, Tutorials, ES5 ES6 ES7, React 2, Angular 2, Ionic 2">
<meta name="application-name" content="xgqfrms.xyz, webgeeker.xyz">
<meta name="generator" content="Sublime Text 3, Visual Studio Code 1.6, Google Chrome Canary, GitHub, React 2, Angular 2, Ionic 2">
<meta name="msapplication-TileColor" content="#00ff00" />
<!-- media query -->
<!-- RSS -->
<link href="https://xgqfrms.xyz/feeds/posts.rss" type="application/rss+xml" rel="alternate" title="Blog RSS" />
<link href="https://xgqfrms.xyz/feeds/atom.xml" type="application/atom+xml" rel="alternate" title="Atom Feed" />
<script src="https://cdn.xgqfrms.xyz/sdk/auto-meta.js" async></script>
</head>
页脚
<div class="footer">
<div id="xxx" style="background-color:black;">
<footer class="site-footer">
<span class="site-footer-owner">
<a href="https://github.com/xgqfrms/xgqfrms">xgqfrms</a> is maintained by
<a href="https://www.xgqfrms.xyz/">xgqfrms™</a>.
<h3><mark>Powered by HTML5+CSS3+JavaScript...</mark></h3>
</span>
<span class="site-footer-credits">
<mark id="spanYear"></mark>
<a href="https://twitter.com/xgqfrms">Follow @xgqfrms</a>
<!-- <a href="https://twitter.com/xgqfrms" class="twitter-follow-button" data-show-count="false" data-width="100px" data-size="large">Follow @xgqfrms</a> -->
<a href="https://www.webgeeker.xyz/index.html">webgeeker.xyz(tutorials)</a>
</span>
</footer>
</div>
</div>
<script src="https://cdn.xgqfrms.xyz/plugins/getfullyear.js" async></script>
<script src="https://cdn.xgqfrms.xyz/sdk/share-twitter.js" async></script>
<!--
<script src="https://cdn.xgqfrms.xyz/sdk/share-twitter.js" async></script>
-->
<!--
https://gist.github.com/xgqfrms/8393756fca6113d9effd65667362ebc4
为了维护国家主权,弃用了
TW, HK 不是 country, 是 China 的一部分!
-->
<!-- <script src="https://cdn.xgqfrms.xyz/plugins/seo-flag.js" async></script> -->
<script src="https://cdn.xgqfrms.xyz/plugins/custom-log.js" async></script>
<script src="https://cdn.xgqfrms.xyz/plugins/auto-append-copyright.js" defer></script>
<!-- 禁用 debugger -->
<script src="https://cdn.xgqfrms.xyz/plugins/locked-debugger.js" async></script>
<!-- ©xgqfrms 2012-2022 -->
<!--
<script src="https://cdn.xgqfrms.xyz/copyright/index.js" async defer></script>
<script src="https://cdn.xgqfrms.xyz/plugins/auto-append-copyright.js" defer></script>
-->
<script defer>
// after load
setTimeout(() => {
// <a href="javascript:void(0);" id="green_channel_digg" onclick="shareToTwitter()" title="分享到 Twitter">分享到 Twitter</a>
const shareBox = document.querySelector("#green_channel");
if(shareBox) {
shareBox.insertAdjacentHTML('afterbegin', `<a href="javascript:void(0);" id="green_channel_digg" onclick="shareToTwitter()" title="分享到 Twitter">分享到 Twitter</a>`);
}
}, 1000);
//schedule 调度
// https://www.cnblogs.com/xgqfrms/p/16834738.html
// setTimeout(() => {
// // console.log(`@copyright xgqfrms\n`, `https://cdn.xgqfrms.xyz/plugins/getfullyear.js`);
// const copyYear = document.querySelector(`[data-uid="copyright-aside"]`);
// copyYear.innerText = new Date().getFullYear();
// }, 3000);
const updateYear = (uid = `[data-uid="copyright-aside"]`) => {
const copyYear = document.querySelector(uid);
copyYear.innerText = new Date().getFullYear();
};
const updateAllYears = (uid = `[data-uid="copyright-aside"]`) => {
const copyYears = [...document.querySelectorAll(uid)];
for(const copyYear of copyYears) {
copyYear.innerText = new Date().getFullYear();
}
};
// delay
setTimeout(() => {
// updateYear();
updateAllYears();
}, 3000);
setTimeout(() => {
const tel = document.querySelector(`[data-tel^="tel"]`);
console.log(`fix: tel:0371-65321369`, tel);
tel.href = "tel:0371-65321369";
}, 3000);
</script>
cnblogs 私有化替换
https://github.com/xgqfrms/gatsby-react-app/issues/31