7 Commits

Author SHA1 Message Date
11a1255b32 Fixed missing link in the Honey callout
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-03-05 15:18:19 -05:00
77478a1df6 Removed Amazon affiliate callout; added Honey affiliate callout
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-03-05 15:16:13 -05:00
3e7a6f2ef7 Added second webserver to Woodpecker config
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-03-05 15:13:56 -05:00
b09ab1634c Added Woodpecker CI config
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-03-05 15:11:52 -05:00
8d0c1c6633 Updated the Support page 2022-02-19 13:37:54 -05:00
c8478ffd29 Added new blog post talking about how the site is built with Jekyll 2022-02-19 13:32:45 -05:00
b0e438adcd Changed how the blog post links are generated; modified the blog post template to show the post's title and date 2022-02-19 13:32:31 -05:00
8 changed files with 75 additions and 7 deletions

26
.woodpecker.yml Normal file
View File

@ -0,0 +1,26 @@
pipeline:
build:
image: jekyll/jekyll:4
environment:
- JEKYLL_ROOTLESS=1
commands:
- mkdir _site
- jekyll build -s src/ --disable-disk-cache
deploy:
image: appleboy/drone-scp
settings:
host:
- www3.int.metaunix.net
- www4.int.metaunix.net
user: xadmin
port: 22
password:
from_secret: ssh_password
command_timeout: 2m
target: /var/www/bitgoblin.tech
source: ./_site/*
rm: True
strip_components: 1
when:
event: tag

View File

@ -6,7 +6,6 @@ description: >-
The Bit Goblin main website, a place for cool tech things.
baseurl: '/'
url: 'https://www.bitgoblin.tech'
permalink: '/:year/:month/:day/:title:output_ext'
links:
bitgoblin_channel: 'https://youtube.com/BitGoblin'
ascendings_channel: 'https://www.youtube.com/channel/UCCWlMg8oP9pz4Zlu4iZjPFw'

View File

@ -2,4 +2,7 @@
layout: default
---
<h1>{{ page.title }}</h1>
<p class="post-info">{{ page.date | date: "%a %b %d, %Y" }}</p>
{{ content }}

View File

@ -1,8 +1,9 @@
---
layout: post
title: "Welcome to Bit Goblin!"
description: "There's not much else to say... welcome to Bit Goblin!"
date: 2021-08-17 13:11:02 -0400
categories: housekeeping
tags: housekeeping
---
There's not much else to say... welcome to Bit Goblin!

View File

@ -0,0 +1,33 @@
---
layout: post
title: "How This Site is Made (with Jekyll)"
description: "These days, you can make a website MANY different ways. So I chose Jekyll..."
date: 2022-02-19 12:31:10 -0400
tags: web-design
---
There are MANY ways to build a website these days. You have the old-school ways of hand-coding your HTML's and CSS's, to building a dynamically-generated website with new-agey tools like webpack and whatever-node-framework-is-in-right-now, and even using point-and-click tools like Wordpress or Squarespace. No matter what you want to do and your skill level, there's something for you.
Personally, I LOVE building websites from the ground up. Not necessarily coding everything from scratch, but at least starting from something barebones that's extensible enough so I can plug-n-play my own choice of tools to make that's tailored to me. This is why when I need to make a website, depending on the requirements I'll use frameworks like Slim (PHP), Express.js (Node.js), Gin (Go), and the like - minimalist frameworks (or routers...) that I can plug in things like templating engines, an ORM or some sort of database abstraction layer, and authentication mechanisms.
I also firmly believe that NOT every single website needs to be built to accept user inputs, or dynamically generate web pages on the fly; sometimes you only need a simple, static webpage or set of webpages that are small, concise, and quick to load.
## Introducing Jekyll ##
This is where static website generators come into play, and I went with [Jekyll](https://jekyllrb.com/). It's a really neat tool that combines the magic of the Liquid templating engine with the simplicity of markdown files to create a static, blog-aware site. Heck, it's so cool that it's used by GitHub! It's how they generate webpages for GitHub Pages!
Part of what makes Jekyll great is its extensibility. There are plugins available for things like compiling SASS/SCSS stylesheets and CoffeeScript, generating RSS feeds and sitemaps, displaying GitHub Gists, and many other things to help you in generating your site. Plus, there are community-maintained themes that can be used to give yourself a headstart with designing your site so you can focus on the content rather than the boring CSS designing junk.
It does require some setup to get your site scaffolding and templating setup, especially if you want to use other tools like CoffeeScript to compile your JavaScript scripts (that's me!) and want to change your templating engine. But, once you've got your site configured, creating a new blog post is as simple as creating a new markdown file in your \_posts folder, fill out the post metadata, add some content and BAM! it's ready to go.
Also, the developers of Jekyll were smart: they not allow you to build a site into static HTML files to serve on your site, but they also built in a tool to "watch" your source directory for changes and automatically rebuild it on the fly so you can easily see your changes as you're developing it or writing a new post.
## Experiences with Hugo ##
At this point I'd like to mention that I also really like [Hugo](https://gohugo.io), which is a static site generator in the same vein as Jekyll. It's written in Go, so it's typically a LOT faster to render sites, and it's also just a single binary so it's easier to install and maintain a single version that you build your site with.
Now as for why I went with Jekyll: simply just familiarity. I can go into a long debate about the pros and cons of each and talk about why Jekyll fits my use better, but realistically both are FANTASTIC tools that I'd recommend to anyone looking to build a static site. I don't need your confirmation that I made the correct choice ;).
## That's all for now! ##
Well, that's it for now. I hope you were able to learn something from this - I just wanted to talk about how I created this site with Jekyll since I'm really happy with the setup now. It's not too fancy, but isn't boring. Now the next step is integrating it with some CI to automatically deploy new versions of the site...

View File

@ -24,6 +24,10 @@ hr
.u-text-center
text-align: center
.post-info
color: #999
font-style: italic
// this wrapper is only used to hide the footer
#wrapper
position: relative
@ -138,9 +142,6 @@ hr
.post-title
margin-bottom: 3px
.post-info
color: #999
.post-body
margin-bottom: 0

View File

@ -7,7 +7,7 @@ layout: page
<li>
<h5 class="post-title"><a href="{{ post.url }}">{{ post.title }}</a></h5>
<p class="post-info">{{ post.date | date: "%a %b %d, %Y" }}</p>
{{ post.content | truncate: 350 }}
<p>{{ post.description }}</p>
</li>
{% endfor %}
</ul>

View File

@ -2,4 +2,9 @@
layout: page
---
If you're looking to contact me for business inqueries, feel free to email me at [gballantine@bitgoblin.tech](mailto:gballantine@bitgoblin.tech).
Unfortunately money doesn't grow on trees, and a lot of the stuff that I purchase to make videos on can be quite expensive. My content is available free-of-charge on YouTube, but if you don't mind helping support me financially any help would be much appreciated.
The primary way to support my work is through donations on [my Patreon page](https://patreon.com/BitGoblin). I don't have any reward tiers over there yet, but I do plan on adding some rewards at some point in the future.
You can also support me by [joining Honey using my referral link](https://www.joinhoney.com/ref/9ohqcf9)! Honey helps you save money on popular websites by searching for coupons to get you discounts while you're shopping. And the best part is that it's free!