Commit 5abe8695 authored by John's avatar John

Site updated: 2018-11-19 15:40:37

parent 1f8edc1f
......@@ -82,8 +82,7 @@
that tracks where clicks came from, what posts they viewed, and for how long. This analytics both respects “Do Not Track” and anonymizes ip addresses. There is no way I can make this an opt-in however if you would like to opt-out click below.
</p>
<iframe style="border: 0; height: 200px; width: 600px;" src="http://anal.thebestjohn.com/index.php?module=CoreAdminHome&action=optOut&language=en&backgroundColor=&fontColor=&fontSize=&fontFamily="><br></iframe></div>
<div class="article__author"
itemscope="" itemprop="author" itemtype="https://schema.org/Person"><img class="article__author__image" src="/images/avatar.jpg" alt="John Warren"><a class="article__author__link" title="About John Warren" rel="author">John Warren</a>
<div class="article__author" itemscope="" itemprop="author" itemtype="https://schema.org/Person"><img class="article__author__image" src="/images/avatar.jpg" alt="John Warren"><a class="article__author__link" title="About John Warren" rel="author">John Warren</a>
<p class="article__author__desc">Just a place to make stuff</p>
<div class="article__author__socials"><a class="article__author__socials__item" href="/atom.xml" title="rss" target="_blank"><i class="fa fa-rss"></i></a></div>
<meta itemprop="name" content="John Warren">
......@@ -91,8 +90,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -78,8 +78,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/setting-up-hexo-auto-deploy-from-gitlab/" title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/Web-Dev/">Web Dev</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="post-list__item__meta__label">,</span>
<a
class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
<p class="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
</div>
......
......@@ -90,8 +90,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/sonoff-micropython-wonderland/" title="SONOFF MicroPython Wonderland">SONOFF MicroPython Wonderland</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/">ESP8266/ESP32</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/Automation/">Automation</a></div>
<p
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<p class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
</section>
......
......@@ -102,8 +102,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/sonoff-micropython-wonderland/" title="SONOFF MicroPython Wonderland">SONOFF MicroPython Wonderland</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/">ESP8266/ESP32</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/Automation/">Automation</a></div>
<p
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<p class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
<article class="post-list__item">
......@@ -115,8 +114,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/setting-up-hexo-auto-deploy-from-gitlab/" title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/Web-Dev/">Web Dev</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="post-list__item__meta__label">,</span>
<a
class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
<p class="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
</div>
......
......@@ -102,8 +102,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/sonoff-micropython-wonderland/" title="SONOFF MicroPython Wonderland">SONOFF MicroPython Wonderland</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/">ESP8266/ESP32</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/Automation/">Automation</a></div>
<p
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<p class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
<article class="post-list__item">
......@@ -115,8 +114,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/setting-up-hexo-auto-deploy-from-gitlab/" title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/Web-Dev/">Web Dev</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="post-list__item__meta__label">,</span>
<a
class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
<p class="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
</div>
......
......@@ -78,8 +78,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/sonoff-micropython-wonderland/" title="SONOFF MicroPython Wonderland">SONOFF MicroPython Wonderland</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/">ESP8266/ESP32</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/Automation/">Automation</a></div>
<p
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<p class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
</section>
......
......@@ -78,8 +78,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/sonoff-micropython-wonderland/" title="SONOFF MicroPython Wonderland">SONOFF MicroPython Wonderland</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/">ESP8266/ESP32</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/Automation/">Automation</a></div>
<p
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<p class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
</section>
......
......@@ -78,8 +78,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/setting-up-hexo-auto-deploy-from-gitlab/" title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/Web-Dev/">Web Dev</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="post-list__item__meta__label">,</span>
<a
class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
<p class="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
</div>
......
......@@ -78,8 +78,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/setting-up-hexo-auto-deploy-from-gitlab/" title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/Web-Dev/">Web Dev</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="post-list__item__meta__label">,</span>
<a
class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
<p class="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
</div>
......
......@@ -78,8 +78,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/setting-up-hexo-auto-deploy-from-gitlab/" title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/Web-Dev/">Web Dev</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="post-list__item__meta__label">,</span>
<a
class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
<p class="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
</div>
......
......@@ -11,18 +11,18 @@
<link rel="stylesheet" href="/css/index.css">
<link rel="stylesheet" href="/css/highlights/dracula.css">
<link rel="canonical" href="http://blog.thebestjohn.com/glossary/">
<meta name="description" content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your…">
<meta name="description" content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your head.…">
<meta property="og:type" content="website">
<meta property="og:title" content="Glossary">
<meta property="og:url" content="http://blog.thebestjohn.com/glossary/">
<meta property="og:site_name" content="TheBestJohn">
<meta property="og:description" content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your…">
<meta property="og:description" content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your head.…">
<meta property="og:locale" content="en">
<meta property="og:image" content="https://imgs.xkcd.com/comics/ten_thousand.png">
<meta property="og:updated_time" content="2018-11-03T23:30:58.896Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Glossary">
<meta name="twitter:description" content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your…">
<meta name="twitter:description" content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your head.…">
<meta name="twitter:image" content="https://imgs.xkcd.com/comics/ten_thousand.png">
<link rel="icon" href="/images/icon.png">
<link rel="alternate" href="/atom.xml" type="application/atom+xml" title="TheBestJohn">
......@@ -72,8 +72,7 @@
<div class="article__contents">
<p><img src="https://imgs.xkcd.com/comics/ten_thousand.png" alt="Ten Thousand"></p>
<h6 id="Comic-credit-to-xkcd-One-of-my-favorites"><a href="#Comic-credit-to-xkcd-One-of-my-favorites" class="headerlink" title="Comic credit to xkcd! One of my favorites"></a>Comic credit to <a href="http://www.xkcd.com" rel="external nofollow noopener noreferrer" target="_blank">xkcd</a>!
One of my favorites
</h6>
One of my favorites</h6>
<p>It’s understandable that a lot of the things I talk about on this site may go above your head. They went above my head when I wanted to learn too! I’m going to try to fill out this glossary with as many blurbs and succinct explanations as
I can about common embedded or programming concepts. There are some that may need more explanation. For those, I may write a “Fundamentals” post to explain more fully. If you’ve ever got a question, don’t hesitate to ask and I’ll see about
putting a term in here.</p>
......@@ -88,8 +87,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......@@ -107,8 +105,7 @@
<!-- Meta Tags for Structured Data-->
<meta itemprop="dateModified" content="2018-11-03T23:30:58.896Z">
<meta itemprop="articleBody" content="
Comic credit to xkcd! One of my
favorites
Comic credit to xkcd! One of my favorites
It’s understandable that a lot of the things I talk about on this site may go above your head. They went above my head when I wanted to learn too! I’m...">
<meta itemprop="url" content="/glossary/index.html">
<meta itemprop="mainEntityOfPage" content="/glossary/index.html">
......
......@@ -84,8 +84,7 @@
<span data-prompt="Enter a passphrase(empty for no passphrase):" data-strings="" data-action="prompt" data-delay="3000">Enter a passphrase(empty for no passphrase):</span>
<span data-prompt="Enter same passphrase again:" data-strings="" data-action="prompt" data-delay="2000">Enter same passphrase again:</span>
<span data-strings="Your identification has been saved in /Users/jwarren/testtt.<br>Your public key has been saved in /Users/jwarren/testtt.pub.<br>The key fingerprint is:<br>SHA256:wdsn98Q+L96juYXdPFHZ/UN3ucpfO7CqOqwornyNavI<br>The key's randomart image is:<br>+---[RSA 2048]----+<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+*|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;..&nbsp;*|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;o&nbsp;o&nbsp;o+.|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+.=+.+|<br>|&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+*++|<br>|oo&nbsp;o..&nbsp;o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.=*+|<br>|*=E.&nbsp;...o....=++=|<br>+----[SHA256]-----+"
data-action="print" data-delay="0">
<span data-strings="Your identification has been saved in /Users/jwarren/testtt.<br>Your public key has been saved in /Users/jwarren/testtt.pub.<br>The key fingerprint is:<br>SHA256:wdsn98Q+L96juYXdPFHZ/UN3ucpfO7CqOqwornyNavI<br>The key's randomart image is:<br>+---[RSA 2048]----+<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+*|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;..&nbsp;*|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;o&nbsp;o&nbsp;o+.|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+.=+.+|<br>|&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+*++|<br>|oo&nbsp;o..&nbsp;o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.=*+|<br>|*=E.&nbsp;...o....=++=|<br>+----[SHA256]-----+" data-action="print" data-delay="0">
Your identification has been saved in /Users/jwarren/testtt.<br>
Your public key has been saved in /Users/jwarren/testtt.pub.<br>
The key fingerprint is:<br>
......@@ -122,8 +121,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -98,8 +98,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/sonoff-micropython-wonderland/" title="SONOFF MicroPython Wonderland">SONOFF MicroPython Wonderland</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/">ESP8266/ESP32</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/ESP8266-ESP32/Automation/">Automation</a></div>
<p
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<p class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
<article class="post-list__item">
......@@ -111,8 +110,7 @@
<div class="post-list__item__col-2">
<h3 class="post-list__item__title"><a href="/posts/setting-up-hexo-auto-deploy-from-gitlab/" title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<div class="post-list__item__meta"><a class="post-list__item__meta__link" href="/categories/Web-Dev/">Web Dev</a><span class="post-list__item__meta__label">,</span><a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="post-list__item__meta__label">,</span>
<a
class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="post-list__item__meta__link" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
<p class="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
</div>
......
<h1 id="Font-Awesome-v4-7-0"><a href="#Font-Awesome-v4-7-0" class="headerlink" title="Font Awesome v4.7.0"></a><a href="http://fontawesome.io" rel="external nofollow noopener noreferrer" target="_blank">Font Awesome v4.7.0</a></h1>
<h3 id="The-iconic-font-and-CSS-framework"><a href="#The-iconic-font-and-CSS-framework" class="headerlink" title="The iconic font and CSS framework"></a>The iconic font and CSS framework</h3>
<p>Font Awesome is a full suite of 675 pictographic icons for easy scalable vector graphics on websites,<br>created and maintained by <a href="https://twitter.com/davegandy" rel="external nofollow noopener noreferrer" target="_blank">Dave Gandy</a>.<br>Stay
up to date with the latest release and announcements on Twitter:<br><a href="http://twitter.com/fontawesome" rel="external nofollow noopener noreferrer" target="_blank">@fontawesome</a>.</p>
<p>Font Awesome is a full suite of 675 pictographic icons for easy scalable vector graphics on websites,<br>created and maintained by <a href="https://twitter.com/davegandy" rel="external nofollow noopener noreferrer" target="_blank">Dave Gandy</a>.<br>Stay up to date with the latest release and announcements on
Twitter:<br><a href="http://twitter.com/fontawesome" rel="external nofollow noopener noreferrer" target="_blank">@fontawesome</a>.</p>
<p>Get started at <a href="http://fontawesome.io" rel="external nofollow noopener noreferrer" target="_blank">http://fontawesome.io</a>!</p>
<h2 id="License"><a href="#License" class="headerlink" title="License"></a>License</h2>
<ul>
......@@ -53,8 +53,7 @@
<li>v3.0.0 - all icons redesigned from scratch, optimized for Bootstrap’s 14px default</li>
</ul>
<h2 id="Contributing"><a href="#Contributing" class="headerlink" title="Contributing"></a>Contributing</h2>
<p>Please read through our <a href="https://github.com/FortAwesome/Font-Awesome/blob/master/CONTRIBUTING.md" rel="external nofollow noopener noreferrer" target="_blank">contributing guidelines</a>.<br>Included are directions for opening issues, coding standards,
and notes on development.</p>
<p>Please read through our <a href="https://github.com/FortAwesome/Font-Awesome/blob/master/CONTRIBUTING.md" rel="external nofollow noopener noreferrer" target="_blank">contributing guidelines</a>.<br>Included are directions for opening issues, coding standards, and notes on development.</p>
<h2 id="Versioning"><a href="#Versioning" class="headerlink" title="Versioning"></a>Versioning</h2>
<p>Font Awesome will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered<br>with the following format:</p>
<p><code>&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;</code></p>
......
<h1 id="Spoqa-Han-Sans-v2-1-1"><a href="#Spoqa-Han-Sans-v2-1-1" class="headerlink" title="Spoqa Han Sans v2.1.1"></a>Spoqa Han Sans v2.1.1</h1>
<p><a href="https://www.npmjs.com/package/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://badge.fury.io/js/spoqa-han-sans.svg" alt="npm version"></a><br><a href="https://travis-ci.org/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer"
target="_blank"><img src="https://travis-ci.org/spoqa/spoqa-han-sans.svg?branch=master" alt="Build Status"></a><br><a href="https://github.com/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://img.shields.io/github/release/spoqa/spoqa-han-sans.svg" alt="GitHub release"></a></p>
<p><a href="https://www.npmjs.com/package/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://badge.fury.io/js/spoqa-han-sans.svg" alt="npm version"></a><br><a href="https://travis-ci.org/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://travis-ci.org/spoqa/spoqa-han-sans.svg?branch=master" alt="Build Status"></a><br>
<a href="https://github.com/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://img.shields.io/github/release/spoqa/spoqa-han-sans.svg" alt="GitHub release"></a>
</p>
<p>스포카 한 산스는 국문, 영문, 일문, 숫자, 글리프의 어울림이 훌륭합니다.<br>가는 굵기(Thin), 보통 굵기(Regular), 두꺼운 굵기(Bold) 세 가지 자족으로,<br>디지털 환경에서 언어를 아름답게 표현합니다.</p>
<p>스포카 혼자 쓰기엔 지나치게 산뜻한 스포카 한 산스,<br>한글날을 맞이하여 누구나 무료로 쓸 수 있도록 배포합니다.</p>
<h2 id="제작-정보"><a href="#제작-정보" class="headerlink" title="제작 정보"></a>제작 정보</h2>
<p>Spoqa Han Sans에 대한 제작 배경 및 미리보기에 대한 정보는 <a href="http://spoqa-han-sans.com/" rel="external nofollow noopener noreferrer" target="_blank">Spoqa Han Sans Introduction</a>에서 얻으실 수 있습니다.</p>
<h2 id="오픈-소스"><a href="#오픈-소스" class="headerlink" title="오픈 소스"></a>오픈 소스</h2>
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <a href="http://scripts.sil.org/OFL" rel="external nofollow noopener noreferrer" target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<a href="https://github.com/spoqa/spoqa-han-sans/graphs/contributors" rel="external nofollow noopener noreferrer"
target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
\ No newline at end of file
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <a href="http://scripts.sil.org/OFL" rel="external nofollow noopener noreferrer" target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<a href="https://github.com/spoqa/spoqa-han-sans/graphs/contributors" rel="external nofollow noopener noreferrer" target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
\ No newline at end of file
<h1 id="Spoqa-Han-Sans-v2-1-1"><a href="#Spoqa-Han-Sans-v2-1-1" class="headerlink" title="Spoqa Han Sans v2.1.1"></a>Spoqa Han Sans v2.1.1</h1>
<p><a href="https://www.npmjs.com/package/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://badge.fury.io/js/spoqa-han-sans.svg" alt="npm version"></a><br><a href="https://travis-ci.org/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer"
target="_blank"><img src="https://travis-ci.org/spoqa/spoqa-han-sans.svg?branch=master" alt="Build Status"></a><br><a href="https://github.com/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://img.shields.io/github/release/spoqa/spoqa-han-sans.svg" alt="GitHub release"></a></p>
<p><a href="https://www.npmjs.com/package/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://badge.fury.io/js/spoqa-han-sans.svg" alt="npm version"></a><br><a href="https://travis-ci.org/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://travis-ci.org/spoqa/spoqa-han-sans.svg?branch=master" alt="Build Status"></a><br>
<a href="https://github.com/spoqa/spoqa-han-sans" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://img.shields.io/github/release/spoqa/spoqa-han-sans.svg" alt="GitHub release"></a>
</p>
<p>스포카 한 산스는 국문, 영문, 일문, 숫자, 글리프의 어울림이 훌륭합니다.<br>가는 굵기(Thin), 보통 굵기(Regular), 두꺼운 굵기(Bold) 세 가지 자족으로,<br>디지털 환경에서 언어를 아름답게 표현합니다.</p>
<p>스포카 혼자 쓰기엔 지나치게 산뜻한 스포카 한 산스,<br>한글날을 맞이하여 누구나 무료로 쓸 수 있도록 배포합니다.</p>
<h2 id="제작-정보"><a href="#제작-정보" class="headerlink" title="제작 정보"></a>제작 정보</h2>
<p>Spoqa Han Sans에 대한 제작 배경 및 미리보기에 대한 정보는 <a href="http://spoqa-han-sans.com/" rel="external nofollow noopener noreferrer" target="_blank">Spoqa Han Sans Introduction</a>에서 얻으실 수 있습니다.</p>
<h2 id="오픈-소스"><a href="#오픈-소스" class="headerlink" title="오픈 소스"></a>오픈 소스</h2>
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <a href="http://scripts.sil.org/OFL" rel="external nofollow noopener noreferrer" target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<a href="https://github.com/spoqa/spoqa-han-sans/graphs/contributors" rel="external nofollow noopener noreferrer"
target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
\ No newline at end of file
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <a href="http://scripts.sil.org/OFL" rel="external nofollow noopener noreferrer" target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<a href="https://github.com/spoqa/spoqa-han-sans/graphs/contributors" rel="external nofollow noopener noreferrer" target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
\ No newline at end of file
......@@ -221,8 +221,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -153,8 +153,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -74,8 +74,7 @@
<h1 class="article__title" itemprop="headline">Setting up Hexo Auto-deploy from Gitlab</h1>
<div class="article__meta"><time class="article__meta__time" datetime="2018-04-30T21:40:00.000Z" itemprop="datePublished">April 30th 2018</time>
<div class="article__meta__categories"><a class="article__meta__categories__item" href="/categories/Web-Dev/">Web Dev</a><span class="article__meta__categories__separator">/</span><a class="article__meta__categories__item" href="/categories/Web-Dev/Gitlab/">Gitlab</a><span class="article__meta__categories__separator">/</span>
<a
class="article__meta__categories__item" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
<a class="article__meta__categories__item" href="/categories/Web-Dev/Gitlab/Automation/">Automation</a>
</div>
</div>
<div class="article__contents"><img src="/images/gitlabrunner/runner.png">
......@@ -104,8 +103,7 @@
<span data-prompt="Enter a passphrase(empty for no passphrase):" data-strings="" data-action="prompt" data-delay="3000">Enter a passphrase(empty for no passphrase):<br></span>
<span data-prompt="Enter same passphrase again:" data-strings="" data-action="prompt" data-delay="2000">Enter same passphrase again:<br></span>
<span data-strings="Your identification has been saved in /Users/john/testtt.<br>Your public key has been saved in /Users/john/testtt.pub.<br>The key fingerprint is:<br>SHA256:j+FL93E5e6btfzLZxkrWrZdrBkwqanJQtba1RZwROO8 runnerboi@gitlab<br/>The key's randomart image is:<br/>+---[RSA&nbsp;2048]----+<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oo+&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;o&nbsp;+&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;.&nbsp;+&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;o&nbsp;.&nbsp;+&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;S&nbsp;o&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;.&nbsp;*&nbsp;o&nbsp;E&nbsp;o.|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;=&nbsp;+&nbsp;.&nbsp;B++|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;=&nbsp;o&nbsp;.&nbsp;=+OO|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;.&nbsp;&nbsp;&nbsp;.&nbsp;B%B|<br>+----[SHA256]-----+"
data-action="print" data-delay="0">
<span data-strings="Your identification has been saved in /Users/john/testtt.<br>Your public key has been saved in /Users/john/testtt.pub.<br>The key fingerprint is:<br>SHA256:j+FL93E5e6btfzLZxkrWrZdrBkwqanJQtba1RZwROO8 runnerboi@gitlab<br/>The key's randomart image is:<br/>+---[RSA&nbsp;2048]----+<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oo+&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;o&nbsp;+&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;.&nbsp;+&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;o&nbsp;.&nbsp;+&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;S&nbsp;o&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;.&nbsp;*&nbsp;o&nbsp;E&nbsp;o.|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;=&nbsp;+&nbsp;.&nbsp;B++|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;=&nbsp;o&nbsp;.&nbsp;=+OO|<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;.&nbsp;&nbsp;&nbsp;.&nbsp;B%B|<br>+----[SHA256]-----+" data-action="print" data-delay="0">
Your identification has been saved in /Users/john/testtt.<br>
Your public key has been saved in /Users/john/testtt.pub.<br>
The key fingerprint is:<br>
......@@ -123,8 +121,7 @@
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;.&nbsp;&nbsp;&nbsp;.&nbsp;B%B|<br fix="*">
+----[SHA256]-----+<br></span>
<span data-strings="^3000cat ~/runnerboi.pub^600" data-action="type" data-delay="1000">$ cat ~/runnerboi.pub<br></span>
<span data-strings="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXnZZ0e0BKqH6i15DL+RO68paFABpXH+alHpAuyrhn3dtbPX0lOQJF275kt/qn8wwDRYAQvdWeTGynmj5d5ul1Fo+ONK+kPvAjX1WZowLEjsewWTHC1Qf0CtYphGoXoc1XRNPTu+wW3xPOCQQwz/gnqJeUw9bNpdj+qAo6JCkqnEb7eXWYfNWBckqgPx3R+hVDlrZxDGxoFOHQ06Wp3UkoWV5LUE1++0akjpIApU0pduX1wnBFCVH183oYuOeSftqYx7MBBGlsLO1+WNmOdaFSGqRLkrDT8e95NGdIGZuGovIRHwq+InnYOghOYQYRhgenaZw4u9Rf5hvVCMcvHHd1 runnerboi@gitlab"
data-action="print">ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXnZZ0e0BKqH6i15DL+RO68paFABpXH+alHpAuyrhn3dtbPX0lOQJF275kt/qn8wwDRYAQvdWeTGynmj5d5ul1Fo+ONK+kPvAjX1WZowLEjsewWTHC1Qf0CtYphGoXoc1XRNPTu+wW3xPOCQQwz/gnqJeUw9bNpdj+qAo6JCkqnEb7eXWYfNWBckqgPx3R+hVDlrZxDGxoFOHQ06Wp3UkoWV5LUE1++0akjpIApU0pduX1wnBFCVH183oYuOeSftqYx7MBBGlsLO1+WNmOdaFSGqRLkrDT8e95NGdIGZuGovIRHwq+InnYOghOYQYRhgenaZw4u9Rf5hvVCMcvHHd1 runnerboi@gitlab</span>
<span data-strings="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXnZZ0e0BKqH6i15DL+RO68paFABpXH+alHpAuyrhn3dtbPX0lOQJF275kt/qn8wwDRYAQvdWeTGynmj5d5ul1Fo+ONK+kPvAjX1WZowLEjsewWTHC1Qf0CtYphGoXoc1XRNPTu+wW3xPOCQQwz/gnqJeUw9bNpdj+qAo6JCkqnEb7eXWYfNWBckqgPx3R+hVDlrZxDGxoFOHQ06Wp3UkoWV5LUE1++0akjpIApU0pduX1wnBFCVH183oYuOeSftqYx7MBBGlsLO1+WNmOdaFSGqRLkrDT8e95NGdIGZuGovIRHwq+InnYOghOYQYRhgenaZw4u9Rf5hvVCMcvHHd1 runnerboi@gitlab" data-action="print">ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXnZZ0e0BKqH6i15DL+RO68paFABpXH+alHpAuyrhn3dtbPX0lOQJF275kt/qn8wwDRYAQvdWeTGynmj5d5ul1Fo+ONK+kPvAjX1WZowLEjsewWTHC1Qf0CtYphGoXoc1XRNPTu+wW3xPOCQQwz/gnqJeUw9bNpdj+qAo6JCkqnEb7eXWYfNWBckqgPx3R+hVDlrZxDGxoFOHQ06Wp3UkoWV5LUE1++0akjpIApU0pduX1wnBFCVH183oYuOeSftqYx7MBBGlsLO1+WNmOdaFSGqRLkrDT8e95NGdIGZuGovIRHwq+InnYOghOYQYRhgenaZw4u9Rf5hvVCMcvHHd1 runnerboi@gitlab</span>
<span data-action="empty"></span>
</div>
......@@ -257,8 +254,7 @@
the file that was generated along with <code>runnerboi.pub</code>, and move over to your <strong>blogsource</strong> repo’s CI/CD settings. Here we make a variable, name it <code>SSH_PRIVATE_KEY</code>, and paste the entire contents of that
file.</p>
<p><img src="/images/gitlabrunner/vars.png" alt="pipeline variables"></p>
<p>While we’re still on this page we want to add some ssh client config values. You can look more into setting up ssh configuration files in <a href="https://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/" rel="external nofollow noopener noreferrer"
target="_blank">this wonderful blog post</a>. For our purposes, we’ve set it up to ignore host key settings for every host, and set up our own gitlab server to use a specific port. If your server is visible to the internet, you’re definitely
<p>While we’re still on this page we want to add some ssh client config values. You can look more into setting up ssh configuration files in <a href="https://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/" rel="external nofollow noopener noreferrer" target="_blank">this wonderful blog post</a>. For our purposes, we’ve set it up to ignore host key settings for every host, and set up our own gitlab server to use a specific port. If your server is visible to the internet, you’re definitely
going to want to change the default port so, if you have, this is where you’d tell your runner about it.</p>
<p>This is what I put under the CI variable for <code>SSH_CONFIG</code>:<br><code>Host *\n\tStrictHostKeyChecking no\n\nHost gitlab.mysite.com\n\tport 2202</code><br><code>\n</code> is code for making a new line and <code>\t</code> is code for
pressing tab. This will parse out to:<br>
......@@ -332,8 +328,7 @@
<p>The “only” part of this will make it only run the “public” scripts when we commit to master.</p>
<h2 id="Using-it"><a href="#Using-it" class="headerlink" title="Using it."></a>Using it.</h2>
<p>Now we’re set up to run our build when we commit to blogsource. Commit these files and the CI should jump into action trying to build your site. Once it’s done, check your “blog” repo and you should have all your files nice and tidy. From
here you can do a git clone or git pull on your live server and your site will be updated. I’m working on making this part more automated for a future post but if you’re impatient you could try something like they did in <a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps"
rel="external nofollow noopener noreferrer" target="_blank">this post on digital ocean</a>.</p>
here you can do a git clone or git pull on your live server and your site will be updated. I’m working on making this part more automated for a future post but if you’re impatient you could try something like they did in <a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps" rel="external nofollow noopener noreferrer" target="_blank">this post on digital ocean</a>.</p>
<h2 id="Back-to-Gitlab-one-final-time-1"><a href="#Back-to-Gitlab-one-final-time-1" class="headerlink" title="Back to Gitlab one final time"></a>Back to Gitlab one final time</h2>
<p><img src="/images/gitlabrunner/vars.png" alt="pipeline variables"></p>
<p>Add to .known_hosts in order to not get “Host key verification failed…” error</p>
......@@ -353,15 +348,11 @@
</p>
<h2 id="Using-it-1"><a href="#Using-it-1" class="headerlink" title="Using it."></a>Using it.</h2>
<p>But really, I don’t want to have it build every commit… Sometimes I’m just editing drafts and literally nothing will change on the frontend. Well as of right now you need to add <code>[ci-skip]</code> to the commit message for that to happen.
Gitlab just recently started supporting push options. These allow you to pass options to your repo without fouling up your commit messages with a soup of tags and variables. There’s ongoing work in <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15643/commits"
rel="external nofollow noopener noreferrer" target="_blank">this merge request</a> to implement that with <code>git push -o ci-skip</code>. Pretty interesting!</p>
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/14499" rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/14499</a><br><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/18667"
rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/18667</a></p>
Gitlab just recently started supporting push options. These allow you to pass options to your repo without fouling up your commit messages with a soup of tags and variables. There’s ongoing work in <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15643/commits" rel="external nofollow noopener noreferrer" target="_blank">this merge request</a> to implement that with <code>git push -o ci-skip</code>. Pretty interesting!</p>
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/14499" rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/14499</a><br><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/18667" rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/18667</a></p>
<p>Really though, I don’t want to have it build every commit. Sometimes I’m just editing drafts and literally nothing will change on the frontend. Well as of right now you need to add <code>[ci-skip]</code> to the commit message for that to happen.
Gitlab just recently started supporting push options. These allow you to pass options to your repo without fouling up your commit messages with a soup of tags and variables. There’s ongoing work in <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15643/commits"
rel="external nofollow noopener noreferrer" target="_blank">this merge request</a> to implement that with <code>git push -o ci-skip</code>. Pretty interesting!</p>
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/14499" rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/14499</a><br><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/18667"
rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/18667</a></p>
Gitlab just recently started supporting push options. These allow you to pass options to your repo without fouling up your commit messages with a soup of tags and variables. There’s ongoing work in <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15643/commits" rel="external nofollow noopener noreferrer" target="_blank">this merge request</a> to implement that with <code>git push -o ci-skip</code>. Pretty interesting!</p>
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/14499" rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/14499</a><br><a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/18667" rel="external nofollow noopener noreferrer" target="_blank">https://gitlab.com/gitlab-org/gitlab-ce/issues/18667</a></p>
<h2 id="That’s-all-folks"><a href="#That’s-all-folks" class="headerlink" title="That’s all folks!"></a>That’s all folks!</h2>
<p>As always, if you have any questions, just drop me a line and I’ll do my best to get you some answers. Have fun, keep making cool stuff and I’ll see you on the next project!</p>
<!-- useful links
......@@ -403,8 +394,7 @@ https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......@@ -440,16 +430,16 @@ https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html
</article>
<section class="related-posts">
<h3>Related posts</h3>
<div class="related-posts__item__wrapper">
<a class="related-posts__item" href="/posts/static-what-generator/">
<div class="related-posts__item__background" style="background-image:url('/images/default.jpg');"></div>
<div class="related-posts__item__overlay"></div><span class="related-posts__item__title">Static what Generator?!</span></a>
</div>
<div class="related-posts__item__wrapper">
<a class="related-posts__item" href="/posts/table-based-design/">
<div class="related-posts__item__background" style="background-image:url('/images/tableCode.jpg');"></div>
<div class="related-posts__item__overlay"></div><span class="related-posts__item__title">Table based design: Why I loathe it, and you should too!</span></a>
</div>
<div class="related-posts__item__wrapper">
<a class="related-posts__item" href="/posts/static-what-generator/">
<div class="related-posts__item__background" style="background-image:url('/images/default.jpg');"></div>
<div class="related-posts__item__overlay"></div><span class="related-posts__item__title">Static what Generator?!</span></a>
</div>
</section>
</div>
</div>
......
......@@ -89,8 +89,7 @@
it to the outlet to see if it still powered on. swapped Tx and Rx. Nothing!… All I have to say now is, make sure you are connecting ground to ground and not “DTR GRN” to ground. GRN looks a lot like GND at first glance. I did however ensure
my FTDI was in 3.3V mode. Make sure you do too!</p>
<p><img src="/images/sonoff/ftdi.jpg" alt="FTDI Basic, Annotations added by me"></p>
<h6 id="CC-BY-2-0-made-available-by-Sparkfun-Electronics"><a href="#CC-BY-2-0-made-available-by-Sparkfun-Electronics" class="headerlink" title="CC BY 2.0 made available by Sparkfun Electronics."></a><a href="https://creativecommons.org/licenses/by/2.0/" rel="external nofollow noopener noreferrer"
target="_blank">CC BY 2.0</a> made available by Sparkfun Electronics.</h6>
<h6 id="CC-BY-2-0-made-available-by-Sparkfun-Electronics"><a href="#CC-BY-2-0-made-available-by-Sparkfun-Electronics" class="headerlink" title="CC BY 2.0 made available by Sparkfun Electronics."></a><a href="https://creativecommons.org/licenses/by/2.0/" rel="external nofollow noopener noreferrer" target="_blank">CC BY 2.0</a> made available by Sparkfun Electronics.</h6>
<p>Once that was sorted it was time to do a quick <code>flash_erase</code> and a <code>flash_write</code> of the new Micropython build for the 8266. Things should be smooth sailing from here. Let’s just do a quick <code>erase_flash</code></p>
<figure class="highlight plain">
<table>
......@@ -148,8 +147,7 @@
<hr>
<h2 id="Failure"><a href="#Failure" class="headerlink" title="Failure."></a>Failure.</h2>
<p><img src="/images/sonoff/ahhhh.gif" alt="ahhhh"></p>
<p>I tried this time and time again on my windows box, swapped over to my more familiar OSX laptop and did it again, tried older pre-compiled bins from <a href="https://micropython.org/download#esp8266" rel="external nofollow noopener noreferrer"
target="_blank">micropython</a>. Nothing was getting me anywhere.</p>
<p>I tried this time and time again on my windows box, swapped over to my more familiar OSX laptop and did it again, tried older pre-compiled bins from <a href="https://micropython.org/download#esp8266" rel="external nofollow noopener noreferrer" target="_blank">micropython</a>. Nothing was getting me anywhere.</p>
<p>Off to the googler (well, the duck, duck, go-er) to figure out what the issue is here. Most of what I find is people flashing Micropython on the SONOFF with no problems. Technically, I did it with no problem according to the flash verification.
What I’m specifically looking for is “SONOFF Micropython no REPL”. That lead me to this solution.</p>
<figure class="highlight plain">
......@@ -178,8 +176,7 @@
</table>
</figure>
</p>
<h5 id="Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out"><a href="#Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out" class="headerlink" title="Props go to pythoncoder for what I’m sure was a very frustrating time figuring this out."></a>Props go to <a href="https://forum.micropython.org/viewtopic.php?f=16&amp;t=3777"
rel="external nofollow noopener noreferrer" target="_blank">pythoncoder</a> for what I’m sure was a very frustrating time figuring this out.</h5>
<h5 id="Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out"><a href="#Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out" class="headerlink" title="Props go to pythoncoder for what I’m sure was a very frustrating time figuring this out."></a>Props go to <a href="https://forum.micropython.org/viewtopic.php?f=16&amp;t=3777" rel="external nofollow noopener noreferrer" target="_blank">pythoncoder</a> for what I’m sure was a very frustrating time figuring this out.</h5>
<p>He’s also posted a fairly detailed write up on why you shouldn’t waste your time with the SONOFF modules as they seem to all be unreliable both in runtime and connectivity. I won’t let that discourage me as I’m not using it for anything mission
critical or non accessible right now.</p>
<h3 id="Back-on-track"><a href="#Back-on-track" class="headerlink" title="Back on track"></a>Back on track</h3>
......@@ -265,8 +262,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -126,8 +126,7 @@
<h3 id="A-Word-on-interactivity"><a href="#A-Word-on-interactivity" class="headerlink" title="A Word on interactivity"></a>A Word on interactivity</h3>
<p>Static sites are very useful for serving your content. However, there are a few times where some interactivity is really useful. For instance, the comments section down below. Well in those cases, we can employ third party services with javascript
to bridge that gap. Discus seems to be very vigilant when it comes to user identity and exploit elimination. They provide an <abbr title="Application Programming Interface">API</abbr> in which you can send them your “shortname” and the
<abbr
title="Uniform Resource Locator">URL</abbr> of your post and they’ll provide a comments section that you can embed there.</p>
<abbr title="Uniform Resource Locator">URL</abbr> of your post and they’ll provide a comments section that you can embed there.</p>
</div>
<div class="article__author" itemscope="" itemprop="author" itemtype="https://schema.org/Person"><img class="article__author__image" src="/images/avatar.jpg" alt="John Warren"><a class="article__author__link" title="About John Warren" rel="author">John Warren</a>
<p class="article__author__desc">Just a place to make stuff</p>
......@@ -137,8 +136,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -107,8 +107,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -106,8 +106,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......
......@@ -19,7 +19,7 @@
<meta property="og:description" content="When “pretty good” is good enough PGP stands for “Pretty Good Privacy”. It’s a set of algorithms for encrypting, compressing, and signing…">
<meta property="og:locale" content="en">
<meta property="og:image" content="http://blog.thebestjohn.com/images/sonoff/sonoff.jpg">
<meta property="og:updated_time" content="2018-11-19T15:08:20.796Z">
<meta property="og:updated_time" content="2018-11-19T15:39:36.002Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="You down with PGP? Yeah you know me!">
<meta name="twitter:description" content="When “pretty good” is good enough PGP stands for “Pretty Good Privacy”. It’s a set of algorithms for encrypting, compressing, and signing…">
......@@ -502,11 +502,22 @@
</p>
<p>In this method, Alice and Bob publicly agree on a shared set of numbers, they then use their private keys and use the public numbers in an algorithm to obtain a “mix” of numbers that they’ll send to one another. Alice and Bob then “mix” the
others mixed numbers to be left with a pair of numbers that no one else can know. Eve would need access to either Bob or Alices private numbers in order to arrive at the new secret from any of the numbers that were shared.</p>
<p>It’s a little hard to understand this way and often a good way of explaining this is with Colours. The image below shows a representation for this.<br><img src="/images/gpg/dhkeyexchange.png" alt="Diffie–Hellman key exchange"></p>
<p>It’s a little hard to understand this way, often a good way of explaining this is with colours. The image below shows a representation for this.<br><img src="/images/gpg/dhkeyexchange.png" alt="Diffie–Hellman key exchange"></p>
<p>Notice the final colour never goes into the public space. This is the number that would then be used to encrypt messages using a symmetric encryption (similar to our one time pad example). If you’d like to see a video on this, Khan Academy
presents a lesson by <a href="https://britcruise.com/" rel="external nofollow noopener noreferrer" target="_blank">Brit Cruise</a> and does a good job at demonstrating it.</p>
<!-- https://www.youtube.com/watch?v=YEBfamv-_do&t=3m23s -->
<div class="video-container"><iframe src="//www.youtube.com/embed/YEBfamv-_do&t=3m23s" frameborder="0" allowfullscreen></iframe></div>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/YEBfamv-_do?start=203" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<h2 id="Putting-it-all-together"><a href="#Putting-it-all-together" class="headerlink" title="Putting it all together"></a>Putting it all together</h2>
<p>Bob and Alice are agents for the super secret Puppy alliance (SSPA). They have never been on the same continent together, let alone met. They’ve both been deployed in the kitty cat capitol city and need to communicate to ensure the survival
of puppy dogs in a Feline controlled world. They both know the SSPA’s public key and trust that it belongs to them. Bob, gets a message from Alice that is signed with Alice’s Public key. He can not be sure that the message is in fact from
Alice because Eve could have easily made a Public and Private key and called herself Alice. However, the message also contained a signature on Alice’s public key signed by the SSPA. Because Bob trusts the SSPA he can believe that this key
in fact does belong to Alice as Eve would have no way of signing the public key with SSPA’s private key.</p>
<p>Using <abbr title="GNU Privacy Guard">GPG</abbr> Bob and Alice set up a shared secret and then can communicate in private while Eve is left on the outside not being able to read any of their messages. Puppies will rise again.</p>
<p>All of this just dips our toes into Cryptography, There is much more to know. There are several different parts of a crypto system and each have very specific uses. In later posts I will try to outline how to make some solid keys, the different
useful features of other systems, and more info on why it’s a good idea to not make crypto yourself and instead rely on the genius of others. Until then, try to come up with an explanation of <code>forward secrecy</code>. Think about how
you could change your key every message, Think about what would happen if you received a message out of order in that scenario. How would you protect earlier messages from being decrypted if your key was leaked?</p>
<p>As always, let me know if you have any questions or something you’d like me to add.</p>
</div>
<div class="article__author" itemscope="" itemprop="author" itemtype="https://schema.org/Person"><img class="article__author__image" src="/images/avatar.jpg" alt="John Warren"><a class="article__author__link" title="About John Warren" rel="author">John Warren</a>
<p class="article__author__desc">Just a place to make stuff</p>
......@@ -516,8 +527,7 @@
<div class="sharer" id="sharer">
<div class="sharer-inner">
<div class="sharer__right"><button class="sharer__item" id="sharer-facebook"><i class="fa fa-facebook-official"></i></button><button class="sharer__item" id="sharer-twitter"><i class="fa fa-twitter"></i></button><button class="sharer__item" id="sharer-pinterest"><i class="fa fa-pinterest"></i></button>
<button
class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
<button class="sharer__item" id="sharer-pocket"><i class="fa fa-get-pocket"></i></button>
</div>
</div>
</div>
......@@ -533,7 +543,7 @@
})();
</script><noscript>Enable JavaScript to see comments.</noscript>
<!-- Meta Tags for Structured Data-->
<meta itemprop="dateModified" content="2018-11-19T15:08:20.796Z">
<meta itemprop="dateModified" content="2018-11-19T15:39:36.002Z">
<meta itemprop="articleBody" content="When “pretty good” is good enough
PGP stands for “Pretty Good Privacy”. It’s a set of algorithms for encrypting, compressing, and signing data so that a specific person can open and read that...">
<meta itemprop="url" content="/posts/you-down-with-pgp-yeah-you-know-me/">
......
......@@ -4,7 +4,7 @@
<url>
<loc>http://blog.thebestjohn.com/posts/you-down-with-pgp-yeah-you-know-me/</loc>
<lastmod>2018-11-19T15:08:20.796Z</lastmod>
<lastmod>2018-11-19T15:39:36.002Z</lastmod>
</url>
......@@ -30,49 +30,49 @@
</url>
<url>
<loc>http://blog.thebestjohn.com/posts/static-what-generator/</loc>
<loc>http://blog.thebestjohn.com/posts/table-based-design/</loc>
<lastmod>2018-11-03T23:30:58.784Z</lastmod>
</url>
<url>
<loc>http://blog.thebestjohn.com/posts/sonoff-micropython-wonderland/</loc>
<loc>http://blog.thebestjohn.com/posts/static-what-generator/</loc>
<lastmod>2018-11-03T23:30:58.784Z</lastmod>
</url>
<url>
<loc>http://blog.thebestjohn.com/posts/table-based-design/</loc>
<loc>http://blog.thebestjohn.com/posts/the-plasma-speaker-saga-pt-iii/</loc>
<lastmod>2018-11-03T23:30:58.784Z</lastmod>
</url>
<url>
<loc>http://blog.thebestjohn.com/posts/the-plasma-speaker-saga-pt-iii/</loc>
<loc>http://blog.thebestjohn.com/posts/matrix-keypad/</loc>
<lastmod>2018-11-03T23:30:58.784Z</lastmod>
</url>
<url>
<loc>http://blog.thebestjohn.com/posts/matrix-keypad/</loc>
<loc>http://blog.thebestjohn.com/posts/sonoff-micropython-wonderland/</loc>
<lastmod>2018-11-03T23:30:58.784Z</lastmod>
</url>
<url>
<loc>http://blog.thebestjohn.com/posts/setting-up-hexo-auto-deploy-from-gitlab/</loc>
<loc>http://blog.thebestjohn.com/about/index.html</loc>
<lastmod>2018-11-03T23:30:58.784Z</lastmod>
</url>
<url>
<loc>http://blog.thebestjohn.com/about/index.html</loc>
<loc>http://blog.thebestjohn.com/posts/setting-up-hexo-auto-deploy-from-gitlab/</loc>
<lastmod>2018-11-03T23:30:58.784Z</lastmod>
......
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