Commit 1659e802 authored by John's avatar John

Site updated: 2018-04-27 15:32:02

parent 06daf82a
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="about">
<meta property="og:url" content="http://blog.thebestjohn.com/about/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta property="og:updated_time" content="2018-04-26T19:29:04.164Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="about">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>about</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
<div class="content" itemprop="articleBody">
</div>
</article>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="TheBestJohn">
<meta property="og:url" content="http://blog.thebestjohn.com/archives/2018/04/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TheBestJohn">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>TheBestJohn</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<div id="archive">
<ul class="post-list">
<h2>2018</h2>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-30T17:40:00.000Z" itemprop="datePublished">2018-04-30</time>
</div>
<span>
<a class="" href="/posts/setting-up-hexo-auto-deploy-from-gitlab/">Setting up Hexo Auto-deploy from Gitlab</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-27T17:40:00.000Z" itemprop="datePublished">2018-04-27</time>
</div>
<span>
<a class="" href="/posts/static-site-what/">Static Site what?!</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-26T19:29:04.164Z" itemprop="datePublished">2018-04-26</time>
</div>
<span>
<a class="" href="/posts/hello-world/">Hello World</a>
</span>
</li>
</ul>
</div>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="TheBestJohn">
<meta property="og:url" content="http://blog.thebestjohn.com/archives/2018/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TheBestJohn">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>TheBestJohn</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<div id="archive">
<ul class="post-list">
<h2>2018</h2>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-30T17:40:00.000Z" itemprop="datePublished">2018-04-30</time>
</div>
<span>
<a class="" href="/posts/setting-up-hexo-auto-deploy-from-gitlab/">Setting up Hexo Auto-deploy from Gitlab</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-27T17:40:00.000Z" itemprop="datePublished">2018-04-27</time>
</div>
<span>
<a class="" href="/posts/static-site-what/">Static Site what?!</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-26T19:29:04.164Z" itemprop="datePublished">2018-04-26</time>
</div>
<span>
<a class="" href="/posts/hello-world/">Hello World</a>
</span>
</li>
</ul>
</div>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="TheBestJohn">
<meta property="og:url" content="http://blog.thebestjohn.com/archives/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TheBestJohn">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>TheBestJohn</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<div id="archive">
<ul class="post-list">
<h2>2018</h2>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-30T17:40:00.000Z" itemprop="datePublished">2018-04-30</time>
</div>
<span>
<a class="" href="/posts/setting-up-hexo-auto-deploy-from-gitlab/">Setting up Hexo Auto-deploy from Gitlab</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-27T17:40:00.000Z" itemprop="datePublished">2018-04-27</time>
</div>
<span>
<a class="" href="/posts/static-site-what/">Static Site what?!</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-26T19:29:04.164Z" itemprop="datePublished">2018-04-26</time>
</div>
<span>
<a class="" href="/posts/hello-world/">Hello World</a>
</span>
</li>
</ul>
</div>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="TheBestJohn">
<meta property="og:url" content="http://blog.thebestjohn.com/categories/Web-Dev/Gitlab/Automation/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TheBestJohn">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>TheBestJohn</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<div id="archive">
<ul class="post-list">
<h2>2018</h2>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-30T17:40:00.000Z" itemprop="datePublished">2018-04-30</time>
</div>
<span>
<a class="" href="/posts/setting-up-hexo-auto-deploy-from-gitlab/">Setting up Hexo Auto-deploy from Gitlab</a>
</span>
</li>
</ul>
</div>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="TheBestJohn">
<meta property="og:url" content="http://blog.thebestjohn.com/categories/Web-Dev/Gitlab/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TheBestJohn">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>TheBestJohn</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<div id="archive">
<ul class="post-list">
<h2>2018</h2>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-30T17:40:00.000Z" itemprop="datePublished">2018-04-30</time>
</div>
<span>
<a class="" href="/posts/setting-up-hexo-auto-deploy-from-gitlab/">Setting up Hexo Auto-deploy from Gitlab</a>
</span>
</li>
</ul>
</div>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="TheBestJohn">
<meta property="og:url" content="http://blog.thebestjohn.com/categories/Web-Dev/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TheBestJohn">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>TheBestJohn</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<div id="archive">
<ul class="post-list">
<h2>2018</h2>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-30T17:40:00.000Z" itemprop="datePublished">2018-04-30</time>
</div>
<span>
<a class="" href="/posts/setting-up-hexo-auto-deploy-from-gitlab/">Setting up Hexo Auto-deploy from Gitlab</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-27T17:40:00.000Z" itemprop="datePublished">2018-04-27</time>
</div>
<span>
<a class="" href="/posts/static-site-what/">Static Site what?!</a>
</span>
</li>
</ul>
</div>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
@font-face {
font-family: Vazir;
src: url("../lib/vazir-font/Vazir.eot");
src: url("../lib/vazir-font/Vazir.eot?#iefix") format('embedded-opentype'), url("../lib/vazir-font/Vazir.woff2") format('woff2'), url("../lib/vazir-font/Vazir.woff") format('woff'), url("../lib/vazir-font/Vazir.ttf") format('truetype');
font-weight: normal;
}
@font-face {
font-family: Vazir;
src: url("../lib/vazir-font/Vazir-Bold.eot");
src: url("../lib/vazir-font/Vazir-Bold.eot?#iefix") format('embedded-opentype'), url("../lib/vazir-font/Vazir-Bold.woff2") format('woff2'), url("../lib/vazir-font/Vazir-Bold.woff") format('woff'), url("../lib/vazir-font/Vazir-Bold.ttf") format('truetype');
font-weight: bold;
}
@font-face {
font-family: Vazir;
src: url("../lib/vazir-font/Vazir-Light.eot");
src: url("../lib/vazir-font/Vazir-Light.eot?#iefix") format('embedded-opentype'), url("../lib/vazir-font/Vazir-Light.woff2") format('woff2'), url("../lib/vazir-font/Vazir-Light.woff") format('woff'), url("../lib/vazir-font/Vazir-Light.ttf") format('truetype');
font-weight: 300;
}
.rtl {
font-family: vazir, sans-serif;
direction: rtl;
}
.rtl #nav li {
padding-left: 15px;
border-left: 1px dotted $color-accent-1;
border-right: 0px;
margin-right: 0px !important;
border-right: none !important;
}
.rtl #nav li:last-child {
margin-right: 15px !important;
border-left: 0 !important;
}
.rtl #header #logo {
float: right;
}
.rtl #footer li {
padding-left: 15px;
border-left: 1px dotted $color-border;
margin-right: 0px;
border-right: 0px;
}
.rtl #footer li:last-child {
margin-right: 15px !important;
border-left: 0 !important;
}
.rtl #footer #logo {
float: right;
}
.rtl article .content h2:before {
right: -1rem;
}
@media (min-width: 480px) {
.post-list .post-item .meta {
text-align: right;
}
}
This diff is collapsed.
<!DOCTYPE html>
<html>
<head>
<!-- so meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:type" content="website">
<meta property="og:title" content="TheBestJohn">
<meta property="og:url" content="http://blog.thebestjohn.com/index.html">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:locale" content="default">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TheBestJohn">
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="icon" type="image/png" href="/images/favicon-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
<!-- title -->
<title>TheBestJohn</title>
<!-- styles -->
<link rel="stylesheet" href="/css/style.css">
<!-- persian styles -->
<link rel="stylesheet" href="/css/rtl.css">
<!-- rss -->
</head>
<body class="max-width mx-auto px3 ltr">
<div class="content index my4">
<header id="header">
<a href="/">
<div id="logo" style="background-image: url(/images/logo.png);"></div>
<div id="title">
<h1>TheBestJohn</h1>
</div>
</a>
<div id="nav">
<ul>
<li class="icon">
<a href="#"><i class="fas fa-bars fa-2x"></i></a>
</li>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</div>
</header>
<section id="about">
<p>
Find me on
<a class="icon" target="_blank" href="http://github.com/thebestjohn">
<i class="fab fa-github"></i><!--
---></a><!--
---><!--
---> and
<a class="icon" target="_blank" href="mailto:[email protected]">
<i class="fas fa-envelope"></i><!--
---></a><!--
---><!--
--->.
</p>
</section>
<section id="writing">
<span class="h1"><a href="/archives">Writing</a></span>
<ul class="post-list">
<li class="post-item">
<div class="meta">
<time datetime="2018-04-30T17:40:00.000Z" itemprop="datePublished">2018-04-30</time>
</div>
<span>
<a class="" href="/posts/setting-up-hexo-auto-deploy-from-gitlab/">Setting up Hexo Auto-deploy from Gitlab</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-27T17:40:00.000Z" itemprop="datePublished">2018-04-27</time>
</div>
<span>
<a class="" href="/posts/static-site-what/">Static Site what?!</a>
</span>
</li>
<li class="post-item">
<div class="meta">
<time datetime="2018-04-26T19:29:04.164Z" itemprop="datePublished">2018-04-26</time>
</div>
<span>
<a class="" href="/posts/hello-world/">Hello World</a>
</span>
</li>
</ul>
</section>
</div>
<footer id="footer">
<div class="footer-left">
Copyright &copy; 2018 TheBestJohn
</div>
<div class="footer-right">
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/archives/">Writing</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<!-- styles -->
<link rel="stylesheet" href="/lib/font-awesome/css/fontawesome-all.min.css">
<link rel="stylesheet" href="/lib/justified-gallery/css/justifiedGallery.min.css">
<!-- jquery -->
<script src="/lib/jquery/jquery.min.js"></script>
<script src="/lib/justified-gallery/js/jquery.justifiedGallery.min.js"></script>
<script src="/js/main.js"></script>
<!-- search -->
<!-- Google Analytics -->
<!-- Baidu Analytics -->
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = 'thebestjohn';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
/**
* Sets up Justified Gallery.
*/
if (!!$.prototype.justifiedGallery) {
var options = {
rowHeight: 140,
margins: 4,
lastRow: "justify"
};
$(".article-gallery").justifiedGallery(options);
}
$(document).ready(function() {
/**
* Shows the responsive navigation menu on mobile.
*/
$("#header > #nav > ul > .icon").click(function() {
$("#header > #nav > ul").toggleClass("responsive");
});
/**
* Controls the different versions of the menu in blog post articles
* for Desktop, tablet and mobile.
*/
if ($(".post").length) {
var menu = $("#menu");
var nav = $("#menu > #nav");
var menuIcon = $("#menu-icon, #menu-icon-tablet");
/**
* Display the menu on hi-res laptops and desktops.
*/
if ($(document).width() >= 1440) {
menu.css("visibility", "visible");
menuIcon.addClass("active");
}
/**
* Display the menu if the menu icon is clicked.
*/
menuIcon.click(function() {
if (menu.css("visibility") === "hidden") {
menu.css("visibility", "visible");
menuIcon.addClass("active");
} else {
menu.css("visibility", "hidden");
menuIcon.removeClass("active");
}
return false;
});
/**
* Add a scroll listener to the menu to hide/show the navigation links.
*/
if (menu.length) {
$(window).on("scroll", function() {
var topDistance = menu.offset().top;
// hide only the navigation links on desktop
if (!nav.is(":visible") && topDistance < 50) {
nav.show();
} else if (nav.is(":visible") && topDistance > 100) {
nav.hide();
}
// on tablet, hide the navigation icon as well and show a "scroll to top
// icon" instead
if ( ! $( "#menu-icon" ).is(":visible") && topDistance < 50 ) {
$("#menu-icon-tablet").show();
$("#top-icon-tablet").hide();
} else if (! $( "#menu-icon" ).is(":visible") && topDistance > 100) {
$("#menu-icon-tablet").hide();
$("#top-icon-tablet").show();
}
});
}
/**
* Show mobile navigation menu after scrolling upwards,
* hide it again after scrolling downwards.
*/
if ($( "#footer-post").length) {
var lastScrollTop = 0;
$(window).on("scroll", function() {
var topDistance = $(window).scrollTop();
if (topDistance > lastScrollTop){
// downscroll -> show menu
$("#footer-post").hide();
} else {
// upscroll -> hide menu
$("#footer-post").show();
}
lastScrollTop = topDistance;
// close all submenu"s on scroll
$("#nav-footer").hide();
$("#toc-footer").hide();
$("#share-footer").hide();
// show a "navigation" icon when close to the top of the page,
// otherwise show a "scroll to the top" icon
if (topDistance < 50) {
$("#actions-footer > #top").hide();
} else if (topDistance > 100) {
$("#actions-footer > #top").show();
}
});
}
}
});
// A local search script with the help of
// [hexo-generator-search](https://github.com/PaicHyperionDev/hexo-generator-search)
// Copyright (C) 2015
// Joseph Pan <http://github.com/wzpan>
// Shuhao Mao <http://github.com/maoshuhao>
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
// 02110-1301 USA
/*exported searchFunc*/
var searchFunc = function(path, searchId, contentId) {
$.ajax({
url: path,
dataType: "xml",
success: function(xmlResponse) {
// get the contents from search data
var datas = $("entry", xmlResponse).map(function() {
return {
title: $("title", this).text(),
content: $("content", this).text(),
url: $("link", this).attr('href')
};
}).get();
var $input = document.getElementById(searchId);
if (!$input) { return; }
var $resultContent = document.getElementById(contentId);
$input.addEventListener("input", function(){
var str="<ul class=\"search-result-list\">";
var keywords = this.value.trim().toLowerCase().split(/[\s\-]+/);
$resultContent.innerHTML = "";
if (this.value.trim().length <= 0) {
return;
}
// perform local searching
datas.forEach(function(data) {
var isMatch = true;
if (!data.title || data.title.trim() === "") {
data.title = "Untitled";
}
var dataTitle = data.title.trim().toLowerCase();
var dataContent = data.content.trim().replace(/<[^>]+>/g,"").toLowerCase();
var dataUrl = data.url;
var indexTitle = -1;
var indexContent = -1;
var firstOccur = -1;
// only match artiles with not empty contents
if (dataContent !== "") {
keywords.forEach(function(keyword, i) {
indexTitle = dataTitle.indexOf(keyword);
indexContent = dataContent.indexOf(keyword);
if( indexTitle < 0 && indexContent < 0 ){
isMatch = false;
} else {
if (indexContent < 0) {
indexContent = 0;
}
if (i == 0) {
firstOccur = indexContent;
}
}
});
} else {
isMatch = false;
}
// show search results
if (isMatch) {
str += "<li><a href='"+ dataUrl +"' class='search-result-title'>"+ dataTitle +"</a>";
var content = data.content.trim().replace(/<[^>]+>/g,"");
if (firstOccur >= 0) {
// cut out 100 characters
var start = firstOccur - 20;
var end = firstOccur + 80;
if(start < 0){
start = 0;
}
if(start == 0){
end = 100;
}
if(end > content.length){
end = content.length;
}
var matchContent = content.substr(start, end);
// highlight all keywords
keywords.forEach(function(keyword){
var regS = new RegExp(keyword, "gi");
matchContent = matchContent.replace(regS, "<em class=\"search-keyword\">"+keyword+"</em>");
});
str += "<p class=\"search-result\">" + matchContent +"...</p>";
}
str += "</li>";
}
});
str += "</ul>";
$resultContent.innerHTML = str;
});
}
});
};
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
/*!
* Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
* Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div,.justified-gallery>figure{position:absolute;display:inline-block;overflow:hidden;filter:"alpha(opacity=10)";opacity:.1;margin:0;padding:0}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>figure>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img,.justified-gallery>figure>a>img{position:absolute;top:50%;left:50%;margin:0;padding:0;border:0;filter:"alpha(opacity=0)";opacity:0}.justified-gallery>a>.caption,.justified-gallery>div>.caption,.justified-gallery>figure>.caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible,.justified-gallery>figure>.caption.caption-visible{display:initial;filter:"alpha(opacity=70)";opacity:.7;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.entry-visible{filter:"alpha(opacity=100)";opacity:1;background:0 0}.justified-gallery>.entry-visible>img,.justified-gallery>.entry-visible>a>img{filter:"alpha(opacity=100)";opacity:1;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;filter:"alpha(opacity=100)";opacity:1;overflow:initial}.justified-gallery>.spinner>span{display:inline-block;filter:"alpha(opacity=0)";opacity:0;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment