summaryrefslogtreecommitdiffstats
path: root/content/posts/how-this-blog-works
diff options
context:
space:
mode:
authorDante Catalfamo2020-06-17 22:20:58 -0400
committerDante Catalfamo2020-06-17 22:20:58 -0400
commit97913c29d79777c35bde6f721b6d513ca913c699 (patch)
treedf5d79fda5901bf59ebc0319311df82eec5e08e8 /content/posts/how-this-blog-works
parenta34d9e9ac3d3e5f302131870afa772c5ae4928e8 (diff)
downloadblog-97913c29d79777c35bde6f721b6d513ca913c699.tar.gz
blog-97913c29d79777c35bde6f721b6d513ca913c699.tar.bz2
blog-97913c29d79777c35bde6f721b6d513ca913c699.zip
Beginning blog setup draft
Diffstat (limited to 'content/posts/how-this-blog-works')
-rw-r--r--content/posts/how-this-blog-works/index.org62
1 files changed, 62 insertions, 0 deletions
diff --git a/content/posts/how-this-blog-works/index.org b/content/posts/how-this-blog-works/index.org
new file mode 100644
index 0000000..fcf73ba
--- /dev/null
+++ b/content/posts/how-this-blog-works/index.org
@@ -0,0 +1,62 @@
+#+TITLE: How This Blog Is Set Up
+#+DATE: 2020-06-17T21:03:26-04:00
+#+DRAFT: true
+#+DESCRIPTION:
+#+TAGS[]: hugo openbsd emacs
+#+KEYWORDS[]:
+#+SLUG:
+#+SUMMARY:
+
+When I was thinking about making this blog, there were a couple of
+factors I kept in mind when I was trying to figure out how I was going
+to set it up. Here's a simplified list of that:
+
+- Simple
+- Version controlled
+- Runs on OpenBSD
+- Minimal maintenance
+- Good integration with Emacs
+
+That's how I came up with what I currently use. Let me walk you
+through how I run by blog.
+
+* Framework
+
+ The blog engine is [[https://gohugo.io/][hugo]], a static site generator. I chose this over
+ something dynamic like wordpress for several reasons.
+
+ First of all, it's very easy to manage, blog posts are just simple
+ files written in one of the markup languages hugo supports. Being
+ statically generated is also a massive advantage in terms of
+ maintenance. With something like wordpress, you have to be careful to
+ keep your site and plugins up to date.
+
+ Since there's no dynamic content generation or database involved with
+ hugo, the attack surface is dramatically decreased. No possibility for
+ SQL injection, PHP RATs, accidental shell access, or hacked
+ credentials. The entire site is generated using a single command after
+ a new post is created, and then moved to the web server's root
+ directory.
+
+ Being all flat files also means the entire thing can very easily be
+ tracked using =git= (or maybe [[https://gameoftrees.org/][got]], eventually), in fact that's the
+ recommended way to use hugo. There's no fear I'll accidentally delete
+ something, as I can always go back to a previous commit and restore
+ it.
+
+ Since hugo is written in go, it's trivial to compile on OpenBSD, and
+ is actually available directly from the OpenBSD package manager right
+ out of the gate.
+
+ Maybe the most important thing to be however, is that hugo natively
+ supports org-mode markup. I write all my notes, both personal and work
+ related, in org-mode. It makes converting my notes into blog posts
+ really easy. It also lets me leverage my existing Emacs setup, which
+ comes in handy often. While it's not very well documented, since
+ org-mode markup is a bit of a second class citizen in the hugo world,
+ it's pretty easy to figure out.
+
+* Version Control
+
+ I wanted to try to keep things as simple as possible for this, while
+ remaining private.