Commit 78de6463 authored by John's avatar John

Site updated: 2018-04-30 15:43:19

parent b4386de4
......@@ -7,7 +7,7 @@
<meta property="og:description" content="Recently I’ve become disillusioned with most CMS options. They’re a pain to keep updated, plugins are constantly being abandoned, and…">
<meta property="og:locale" content="en">
<meta property="og:image" content="http://blog.thebestjohn.com/images/default.jpg">
<meta property="og:updated_time" content="2018-04-30T15:38:06.378Z">
<meta property="og:updated_time" content="2018-04-30T15:42:36.853Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Static what Generator?!">
<meta name="twitter:description" content="Recently I’ve become disillusioned with most CMS options. They’re a pain to keep updated, plugins are constantly being abandoned, and…">
......@@ -16,11 +16,14 @@
<h3 id="Why-tho"><a href="#Why-tho" class="headerlink" title="Why tho?"></a>Why tho?</h3><p>The idea is that <em>most</em> sites don’t actually need to use dynamic code. Their content is, for the most, part static. Users aren’t interacting with the content (other than the comments sections and forms but we’ll talk about that later). They are, instead, just reading it. The only person who seems to be interacting with it is the person that owns the site. Even then, the owner isn’t actively interacting. They are writing a post, or updating a page. After that, everything stays the same.</p>
<p>All this is a “face-value” reason to move over to a static site. I have an even deeper reason for wanting to use a static site, portability. Static sites allow you to use a generic format for your posts. I write all my posts in markdown, a very common and widely used format. With this I can move from generator to generator without much change. If I were to make my blog in something like Wordpress, my post information would be locked into a <em>very</em> specific database format. If I, for some reason or another, decided I no longer wanted to use Wordpress it would be a lot of work modifying all my posts to be compatible with the new platform.</p>
<p><a href="https://gohugo.io/" target="_blank" rel="noopener">https://gohugo.io/</a><br><a href="https://themes.gohugo.io/bulma/" target="_blank" rel="noopener">https://themes.gohugo.io/bulma/</a><br><a href="https://themes.gohugo.io/hugo-casper-two/" target="_blank" rel="noopener">https://themes.gohugo.io/hugo-casper-two/</a></p>
<h1 id="Options"><a href="#Options" class="headerlink" title="Options"></a>Options</h1><p>When it comes to static site generators, there are a plethora of options. The idea is to make sure you know what you’re signing up for. They come in many languages and each come with theor own pros and cons. Choose something that’s written in a language you’re somewhat comfortable with and something that meets your criteria. For me, I wanted:</p>
<h1 id="Options"><a href="#Options" class="headerlink" title="Options"></a>Options</h1><p>When it comes to static site generators, there are a plethora of options. The idea is to make sure you know what you’re signing up for. They come in many languages and each come with theor own pros and cons. Choose something that’s written in a language you’re somewhat comfortable with and something that meets your criteria.<br><a href="https://www.staticgen.com/" target="_blank" rel="noopener">https://www.staticgen.com/</a></p>
<p>For me, I wanted:</p>
<ul>
<li>Something with configurable routes (mysite.com/post/post-name/ could easily be mysite.com/articles/post-name/)</li>
<li>Does not need a server running to serve files (This defeats the purpose to me and can introduce security issues)</li>
<li>Was reasonably markdown agnostic (I didn’t want too many special tags in my markdown in case I wanted/needed to switch generators)</li>
<li>Had a nice theming engine with some good themes already made (I can make one but wanted to get up and runnig quickly)</li>
<li>Had a nice theming engine with some good themes already made (I can make one but wanted to get up and running quickly)</li>
<li>Is actively being Developed (It would be nice to keep things up to date)</li>
</ul>
<h1 id="Enter-Hexo"><a href="#Enter-Hexo" class="headerlink" title="Enter, Hexo"></a>Enter, <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a></h1><p>Hexo is a neat little package. </p>
<p>Originally I thought I would install it, set up an apache virtual reverse proxy via an <code>.htaccess</code> file and let node serve static files. Some people do this. It’s a valid way to serve a site. The problem that I have with this, is that it’s just another vulnerable layer of code that I don’t have the inclination to audit. It could potentially have glaring security holes and I wouldn’t know. Again, I want to clarify that I don’t know much of anything about security. I’m not a cryptographer, nor an expert on cyber security. However, I can easily read the html that comes out the other end of the site generator and verify that there are no well-known issues with the javascript or html.</p>
......@@ -33,4 +36,4 @@
s.src = '//thebestjohn.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();</script><noscript>Enable JavaScript to see comments.</noscript><!-- Meta Tags for Structured Data--><meta itemprop="dateModified" content="2018-04-30T15:38:06.378Z"><meta itemprop="articleBody" content="Recently I’ve become disillusioned with most CMS options. They’re a pain to keep updated, plugins are constantly being abandoned, and they’re so prevalent in sites that they make a very attractive..."><meta itemprop="url" content="/posts/static-what-generator/"><meta itemprop="mainEntityOfPage" content="/posts/static-what-generator/"><div itemscope itemtype="https://schema.org/Organization" itemprop="publisher"><meta itemprop="name" content="TheBestJohn"><div itemscope itemprop="logo" itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="/images/icon.png"></div></div><div itemscope itemtype="https://schema.org/ImageObject" itemprop="image"><meta itemprop="contentUrl" content="/images/default.jpg"><meta itemprop="url" content="/images/default.jpg"><meta itemprop="width" content="1280"><meta itemprop="height" content="720"></div></article><section class="related-posts"><h3>Related posts</h3><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/default.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></section></div></div></div><footer id="footer"><div class="widgets"><div class="widgets-inner"><!-- Jade doesn't support dynamic inclusion with `each`.--><!-- So, I just hard coded the file names that will be included.--><div class="widgets__item"><h3 class="widgets__item__heading">Recent posts</h3><ul class="recent-posts"><li class="recent-posts__item"><a href="/posts/static-what-generator/">Static what Generator?!</a></li><li class="recent-posts__item"><a href="/posts/table-based-design/">Table based design: Why I loathe it, and you should too!</a></li><li class="recent-posts__item"><a href="/posts/the-plasma-speaker-saga-pt-iii/">The Plasma Speaker Saga pt.III</a></li><li class="recent-posts__item"><a href="/posts/matrix-keypad/">Create Own Membrane Matrix Keypad (and Hooking It Up to the Arduino)</a></li></ul></div><div class="widgets__item"><h3 class="widgets__item__heading">Archives</h3><ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/04/">April 2018</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2012/08/">August 2012</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2010/05/">May 2010</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2010/02/">February 2010</a><span class="archive-list-count">1</span></li></ul></div><div class="widgets__item"><h3 class="widgets__item__heading">Categories</h3><ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Other-Electronics/">Other Electronics</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/Web-Dev/">Web Dev</a><span class="category-list-count">2</span></li></ul></div></div></div><p class="copyright"><small>© 2018 John Warren<br>Powered by <a href="https://hexo.io" rel="external" target="_blank">Hexo</a>, Theme by <a href="https://github.com/hyunseob" rel="external" target="_blank">HyunSeob</a></small></p></footer><script src="/js/sharer.min.js"></script></body></html>
\ No newline at end of file
})();</script><noscript>Enable JavaScript to see comments.</noscript><!-- Meta Tags for Structured Data--><meta itemprop="dateModified" content="2018-04-30T15:42:36.853Z"><meta itemprop="articleBody" content="Recently I’ve become disillusioned with most CMS options. They’re a pain to keep updated, plugins are constantly being abandoned, and they’re so prevalent in sites that they make a very attractive..."><meta itemprop="url" content="/posts/static-what-generator/"><meta itemprop="mainEntityOfPage" content="/posts/static-what-generator/"><div itemscope itemtype="https://schema.org/Organization" itemprop="publisher"><meta itemprop="name" content="TheBestJohn"><div itemscope itemprop="logo" itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="/images/icon.png"></div></div><div itemscope itemtype="https://schema.org/ImageObject" itemprop="image"><meta itemprop="contentUrl" content="/images/default.jpg"><meta itemprop="url" content="/images/default.jpg"><meta itemprop="width" content="1280"><meta itemprop="height" content="720"></div></article><section class="related-posts"><h3>Related posts</h3><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/default.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></section></div></div></div><footer id="footer"><div class="widgets"><div class="widgets-inner"><!-- Jade doesn't support dynamic inclusion with `each`.--><!-- So, I just hard coded the file names that will be included.--><div class="widgets__item"><h3 class="widgets__item__heading">Recent posts</h3><ul class="recent-posts"><li class="recent-posts__item"><a href="/posts/static-what-generator/">Static what Generator?!</a></li><li class="recent-posts__item"><a href="/posts/table-based-design/">Table based design: Why I loathe it, and you should too!</a></li><li class="recent-posts__item"><a href="/posts/the-plasma-speaker-saga-pt-iii/">The Plasma Speaker Saga pt.III</a></li><li class="recent-posts__item"><a href="/posts/matrix-keypad/">Create Own Membrane Matrix Keypad (and Hooking It Up to the Arduino)</a></li></ul></div><div class="widgets__item"><h3 class="widgets__item__heading">Archives</h3><ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/04/">April 2018</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2012/08/">August 2012</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2010/05/">May 2010</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2010/02/">February 2010</a><span class="archive-list-count">1</span></li></ul></div><div class="widgets__item"><h3 class="widgets__item__heading">Categories</h3><ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Other-Electronics/">Other Electronics</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/Web-Dev/">Web Dev</a><span class="category-list-count">2</span></li></ul></div></div></div><p class="copyright"><small>© 2018 John Warren<br>Powered by <a href="https://hexo.io" rel="external" target="_blank">Hexo</a>, Theme by <a href="https://github.com/hyunseob" rel="external" target="_blank">HyunSeob</a></small></p></footer><script src="/js/sharer.min.js"></script></body></html>
\ No newline at end of file
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