6 Commits
v0.2.3 ... node

43 changed files with 15526 additions and 546 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
# Don't copy NPM modules around!
node_modules/
# Don't commit compiled CSS and CoffeeScript files
public/stylesheets/*.css
public/scripts/*.js

View File

@ -1,26 +0,0 @@
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

@ -1,7 +1,3 @@
# Bit Goblin
# website
The Bit Goblin main website, built with Jekyll.
## Development
Assuming you have docker installed, you can simply run the script `bin/docker-watch.sh` to start the development container that will watch for changes and rebuild the site automatically.
Bit Goblin main website, built with Jekyll

3
bin/docker-start.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
docker run --rm -w /usr/src/app -v "$PWD":/usr/src/app -p 3000:3000 -d --name bitgoblin node:lts node index.js

View File

@ -1,8 +1,3 @@
#!/bin/sh
docker run -d --rm \
--volume="$PWD/src:/srv/jekyll" \
--publish 4000:4000 \
--name="jekyll" \
jekyll/jekyll:4 \
jekyll serve
docker run --rm -w /usr/src/app -v "$PWD":/usr/src/app -p 3000:3000 -d --name bitgoblin node:lts npm run dev

30
gulpfile.js Normal file
View File

@ -0,0 +1,30 @@
const gulp = require('gulp');
const sass = require('gulp-sass')(require('node-sass'));
const coffee = require('gulp-coffee');
const nodemon = require('gulp-nodemon');
gulp.task('styles', function() {
return gulp.src('public/stylesheets/*.sass')
.pipe(sass({indentedSyntax: true}).on('error', sass.logError))
.pipe(gulp.dest('public/stylesheets/'));
});
gulp.task('coffee', function() {
return gulp.src('public/scripts/*.coffee')
.pipe(coffee({bare: true}))
.pipe(gulp.dest('public/scripts/'));
});
exports.watch = function() {
// rerun asset compilation as needed
gulp.watch(['public/stylesheets/*.sass'], { ignoreInitial: false }, gulp.series('styles'));
gulp.watch(['public/scripts/*.coffee'], { ignoreInitial: false }, gulp.series('coffee'));
// start the node server through nodemon
nodemon({
script: 'index.js',
config: 'nodemon.json'
});
};
exports.default = exports.watch;

26
index.js Normal file
View File

@ -0,0 +1,26 @@
const express = require('express');
const path = require('path');
const app = express();
const port = 3000;
// configure the Pug templating engine
app.set('views', './views');
app.set('view engine', 'pug');
// serve static files
app.use('/assets', express.static(path.join(__dirname, 'public')));
// Index GET route
app.get('/', (req, res) => {
res.render('index');
});
// Test GET route
app.get('/test', (req, res) => {
res.send('This is a test.');
});
// start Express app
app.listen(port, () => {
console.log(`The Bit Goblin website is listening on port ${port}`);
});

5
nodemon.json Normal file
View File

@ -0,0 +1,5 @@
{
"ext": "js",
"verbose": true,
"ignore": ["*.test.js", "public"]
}

15300
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

28
package.json Normal file
View File

@ -0,0 +1,28 @@
{
"name": "bitgoblin-website",
"version": "0.1.0",
"description": "The Bit Goblin official website",
"main": "index.js",
"scripts": {
"dev": "gulp",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "gitea@git.metaunix.net:bitgoblin/website.git"
},
"author": "Gregory Ballantine <gballantine@bitgoblin.tech>",
"license": "BSD-2-Clause",
"dependencies": {
"express": "^4.17.3",
"pug": "^3.0.2"
},
"devDependencies": {
"gulp": "^4.0.2",
"gulp-coffee": "^3.0.3",
"gulp-nodemon": "^2.5.0",
"gulp-sass": "^5.1.0",
"node-sass": "^7.0.1",
"nodemon": "^2.0.15"
}
}

View File

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 556 KiB

After

Width:  |  Height:  |  Size: 556 KiB

View File

Before

Width:  |  Height:  |  Size: 390 KiB

After

Width:  |  Height:  |  Size: 390 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 999 KiB

After

Width:  |  Height:  |  Size: 999 KiB

View File

Before

Width:  |  Height:  |  Size: 657 KiB

After

Width:  |  Height:  |  Size: 657 KiB

View File

Before

Width:  |  Height:  |  Size: 532 KiB

After

Width:  |  Height:  |  Size: 532 KiB

View File

@ -1,9 +1,8 @@
---
---
$(window).scroll ->
wScroll = $(this).scrollTop()
console.log(wScroll + ' | ' + window.innerHeight)
# Header parallax
$('#header-logo').css('transform', 'translate(-50%, ' + (wScroll / 2) + 'px)')
$('#header-logo h1').css('transform', 'translateY(-' + (wScroll / 2) + 'px)')
@ -11,8 +10,8 @@ $(window).scroll ->
# YouTube section parallax
if not (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))
$('.youtube-section').each (i, e) ->
if wScroll >= ($(e).offset().top - $(window).height())
offset = (Math.min(0, wScroll - $(e).offset().top + $(window).height() - 500)).toFixed()
if wScroll >= ($(e).offset().top - window.innerHeight)
offset = (Math.min(0, wScroll - $(e).offset().top + window.innerHeight - 500)).toFixed()
$(e).find('.video-card:first-child').css('transform': 'translate(' + offset + 'px, ' + Math.abs(offset * 0.2) + 'px)')
$(e).find('.video-card:last-child').css('transform': 'translate(' + Math.abs(offset) + 'px, ' + Math.abs(offset * 0.2) + 'px)')

View File

@ -1,9 +1,7 @@
---
---
@import "_variables"
body
height: auto
font-family: "Gill Sans", sans-serif
font-size: 2rem
margin: 0
@ -24,16 +22,11 @@ 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
z-index: 10
width: 100%
height: 100%
margin: 0
padding: 0
background: white
@ -142,6 +135,9 @@ hr
.post-title
margin-bottom: 3px
.post-info
color: #999
.post-body
margin-bottom: 0
@ -150,7 +146,7 @@ hr
#footer
box-sizing: border-box
position: fixed
z-index: 1
z-index: -1
bottom: 0
width: 100%
height: $footer-height

5
src/.gitignore vendored
View File

@ -1,5 +0,0 @@
_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor

View File

@ -1,25 +0,0 @@
---
permalink: /404.html
layout: default
---
<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
text-align: center;
}
h1 {
margin: 30px 0;
font-size: 4em;
line-height: 1;
letter-spacing: -1px;
}
</style>
<div class="container">
<h1>404</h1>
<p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p>
</div>

View File

@ -1,31 +0,0 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.2.0"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
gem "jekyll-coffeescript"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", "~> 1.2"
gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

View File

@ -1,89 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
colorator (1.1.0)
concurrent-ruby (1.1.9)
em-websocket (0.5.2)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
execjs (2.8.1)
ffi (1.15.3)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
jekyll (4.2.0)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 2.0)
jekyll-coffeescript (2.0.0)
coffee-script (~> 2.2)
coffee-script-source (~> 1.12)
jekyll-feed (0.15.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.7.1)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.6.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.26.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.7.0)
PLATFORMS
ruby
DEPENDENCIES
jekyll (~> 4.2.0)
jekyll-coffeescript
jekyll-feed (~> 0.12)
minima (~> 2.5)
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
BUNDLED WITH
2.2.24

View File

@ -1,25 +0,0 @@
# Welcome to Jekyll!
title: 'Bit Goblin'
email: 'gballantine@bitgoblin.tech'
description: >-
The Bit Goblin main website, a place for cool tech things.
baseurl: '/'
url: 'https://www.bitgoblin.tech'
links:
bitgoblin_channel: 'https://youtube.com/BitGoblin'
ascendings_channel: 'https://www.youtube.com/channel/UCCWlMg8oP9pz4Zlu4iZjPFw'
twitch_channel: 'https://twitch.tv/brotherballan'
discord_invite: 'https://www.youtube.com/redirect?event=channel_banner&redir_token=QUFFLUhqbjZzc29mblpxVGE0MVZnRXctM2M1Zy1LQ1p1UXxBQ3Jtc0ttbl9yWHdGVWF1QXJFRmh4WGp0MDFKVzNUMnZDOHFxNUQwZmdCbkhkbXFwQjFSRTVGemIwdXpTbC1pV2FwMmMxaUhKMnVMN2NLY0J0ZWFsenVBYmZtY1VUWjBYdXpKVDVFWThaZU1Fb3J3RHVQSDBNYw&q=https%3A%2F%2Fdiscord.gg%2FuVNAJ4nrB9'
forum: 'https://forum.bitgoblin.tech'
minecraft_website: 'https://mc.bitgoblin.tech'
patreon_link: 'https://www.patreon.com/BitGoblin'
# Build settings
plugins:
- jekyll-feed
- jekyll-coffeescript
sass:
sass_dir: 'assets/stylesheets'
style: 'compressed'

View File

View File

@ -1,21 +0,0 @@
---
layout: post
title: "Farewell, Atom."
description: "Atom was an awesome text editor back in its day, and now GitHub is putting it to rest."
date: 2021-07-17 09:32:11 -0400
tags: text-editors programming foss
---
Recently, back on June 8th of 2022, GitHub announced that it set an end-of-life of December 15th, 2022 for Atom. What was once a super popular text editor in the mid-2010s that has since fallen behind the times a bit,
### History
### Technological Advances
Atom brought along with it some pretty awesome technological advances, the primary one being Electron. Initially referred to as "Atom Shell", Electron quickly took off as a way to utilize the open source web browser Chromium as a base for desktop apps, and build on top of it using web technologies (HTML, CSS, and JavaScript) and Node.js.
### Signing Off...
Overall, I'm going to miss Atom. Sure, Sublime Text was more performant and VS Code has a much larger community these days, but it still has a place in my heart since I used it for several years when I started getting more serious in my IT career and I thought it was kinda awesome how the community around Atom exploded so quickly. It seemed like Atom's community shot well past that of the other well-established text editors of the time, practically overnight. Plus I always thought the "a hackable text editor for the 21st century" was such a cool slogan. Suffice to say it has a special place in my heart, so I'll simply end this post with "Farewell, Atom."

View File

@ -1,31 +0,0 @@
---
layout: post
title: "All Adventures Begin with Microsoft Edge"
description: "This is part one of my Web Switching series, where I'm taking a look at other web browsers to see if I'm going to permanently switch from Mozilla Firefox."
date: 2022-06-09 11:54:26 -0400
tags: web-switched web-browsers microsoft microsoft-edge
---
I'm getting bored of Firefox. It works well and I love that it's open-source, but just being open-source isn't enough and I trust Mozilla about as much as I trust Google. Thus I'm ready for a change, and I'm going to start poking around some of the other major web browsers. Chrome/Chromium, Opera, Edge, Vivaldi, Brave, and possibly some others are my targets to try out. I'm going to give each browser about a 30 day trial run as my daily driver (note: I'll still be using other browsers for various things like maintaining multiple Google account sessions simultaneously), and the first one I'll be taking a look at is Microsoft Edge.
This post will be accompanied by a video shortly, this is just a sneak peak for that video with my thoughts on Edge so far. I'll link the video here when it's live.
### What is Edge?
Microsoft's successor to Internet Explorer. Initially started out with their own rendering engine, but later based on Chromium and thus Google's Blink rendering engine. I've always liked Blink as it's super snappy.
### Things I like...
* Installing it was easy - Microsoft provide a Linux repo (nothing special)
* Default theme (color themes) are beautiful - I'm partial to the Cool Blue one
* Signing in to my Microsoft account was easy (nothing special)
* I can use Chromecast from my browser (true for all Chromium browsers)
### Things I don't like...
* Starting Edge doesn't always restore my sessions, and when it does it doesn't always restore the tabs to their proper windows.
* Can't find a way to change the search engine. I'm trying Bing out for now and it's doing fine for me (plus the Bing Rewards are nice!), but I'd like the option to change it.
* Occasionally one window will pin itself to all of my workspaces and can't be unpinned without closing
* Desktop notifications don't timeout
<< Conclude the discussion of the blog post, plus shout out the [YouTube channel]({{ site.links.bitgoblin_channel }}), [Twitch channel]({{ site.links.twitch_channel }} [Patreon]({{ site.links.patreon_link }}), [Discord server]({{ site.links.discord_invite }}), etc >>

View File

@ -1,21 +0,0 @@
---
layout: post
title: "This is an Awesome Title."
description: "There's not much else to say... welcome to Bit Goblin!"
date: 2021-07-17 09:32:11 -0400
tags: housekeeping
---
<< Here will be a short introduction to whatever this blog post is about... >>
<< If there's a related video for this post, mention it here. >>
<< Post content... >>
Bacon ipsum dolor amet fatback ham turducken corned beef alcatra flank biltong beef ribs chicken chuck strip steak meatloaf salami short loin. Doner flank strip steak venison, bacon chuck beef kielbasa shankle chicken pork loin rump sausage tongue. Doner flank ribeye meatball. Ham filet mignon t-bone ball tip, frankfurter fatback ribeye brisket. Capicola ground round ham, alcatra drumstick tri-tip strip steak ribeye fatback kielbasa bresaola swine salami. Pork belly bresaola andouille shankle tenderloin spare ribs.
Bresaola biltong beef sausage ground round turducken ham hock, venison leberkas. Pork beef ribs strip steak burgdoggen. Rump sausage tongue landjaeger short loin salami, sirloin hamburger pork loin tail. Pork belly ball tip short ribs shoulder, tongue pork cow. Meatball corned beef pancetta ham hock. Turkey sausage tenderloin cow. Pastrami short loin drumstick beef ribs, pancetta salami buffalo chicken ball tip t-bone capicola beef biltong fatback.
Andouille ribeye shank porchetta. Doner andouille meatball, jerky tail filet mignon strip steak shoulder beef ribs tri-tip cupim. Tongue brisket spare ribs, capicola alcatra leberkas venison cow doner. Burgdoggen chicken tail jowl doner. Ground round turducken chuck, sausage venison salami tri-tip pork chislic. Beef spare ribs pancetta sausage andouille rump kevin pork chop chuck short ribs pork loin.
<< Conclude the discussion of the blog post, plus shout out the [YouTube channel]({{ site.links.bitgoblin_channel }}), [Twitch channel]({{ site.links.twitch_channel }} [Patreon]({{ site.links.patreon_link }}), [Discord server]({{ site.links.discord_invite }}), etc >>

View File

@ -1,53 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ page.title }}</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css">
<link rel="stylesheet" href="/assets/stylesheets/lumbridge.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="/assets/scripts/varrock.js"></script>
</head>
<body>
<div id="wrapper">
<header id="header-box">
<div id="header-logo">
<h1>Bit Goblin</h1>
</div>
</header>
<nav id="navigation">
<ul>
<li><a href="{% link index.markdown %}">Home</a></li>
<li><a href="{% link blog.markdown %}">Blog Posts</a></li>
<li><a href="{% link support.markdown %}">Support</a></li>
<li><a href="{% link contact.markdown %}">Contact</a></li>
</ul>
</nav>
<div id="main-content" class="container">
<div class="row">
<div class="columns twelve">
{{ content }}
</div>
</div>
</div>
</div>
<footer id="footer">
<div class="row">
<div class="columns three">
<p>Support me over on <a href="{{ site.links.patreon_link }}">Patreon</a>!</p>
</div>
<div class="columns six">
<p class="u-text-center">{{ site.description }}</p>
<p class="u-text-center">&copy; Bit Goblin | all rights reserved.</p>
</div>
<div class="columns three">
<p>Feel free to <a href="{% link contact.markdown %}">contact me</a> for any business inquiries.</p>
</div>
</div>
</footer>
</body>
</html>

View File

@ -1,85 +0,0 @@
---
layout: default
---
{{ content }}
<hr>
<!-- Bit Goblin YouTube channel section -->
<section id="bitgoblin-section" class="youtube-section">
<h3>Find Bit Goblin on <a href="{{ site.links.bitgoblin_channel }}">YouTube</a>.</h3>
<div class="row">
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=cYSLW1qIzKE">
<img class="u-max-full-width" src="/assets/images/bitgoblin-thumbnails/bg-46-thumbnail.png" alt="Add a Bunch of Hard Drives to Your PC! (kinda...)">
<p>How to Install the NVIDIA Driver on Linux</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=4oCuX4xFieo">
<img class="u-max-full-width" src="/assets/images/bitgoblin-thumbnails/bg-20-thumbnail.png" alt="How About a Cheap, Used AMD Graphics Card? (R9 270X)">
<p>How About a Cheap, Used AMD Graphics Card? (R9 270X)</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=kMaFYUNwE5U">
<img class="u-max-full-width" src="/assets/images/bitgoblin-thumbnails/bg-36-thumbnail.png" alt="Let's Take a Look at Debian 10 Buster">
<p>Let's Take a Look at Debian 10 "Buster"</p>
</a></div>
</div>
</section>
<hr>
<!-- Ascendings YouTube channel section -->
<section id="Ascendings-section" class="youtube-section">
<h3>Like watching Old School RuneScape videos? Go watch <a href="{{ site.links.ascendings_channel }}">Ascendings</a>.</h3>
<div class="row">
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=LtOpQv6ZBq0&list=PLIg6BQwweIwGdQNrbDMwGPxifgJ7iIXnE">
<img class="u-max-full-width" src="/assets/images/ascendings-thumbnails/asc-37-thumbnail.png" alt="F2P Hardcore Ironman Playlist">
<p>F2P Hardcore Ironman Playlist</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=AhcCiqDegr0">
<img class="u-max-full-width" src="/assets/images/ascendings-thumbnails/asc-30-thumbnail.jpg" alt="Is Daeyalt Essence Worth Using?">
<p>Is Daeyalt Essence Worth Using?</p>
</a></div>
<div class="video-card columns four"><a href="https://www.youtube.com/watch?v=W3pFR_e3OuM">
<img class="u-max-full-width" src="/assets/images/ascendings-thumbnails/asc-19-thumbnail.jpg" alt="Karambwan Cooking alt">
<p>Karambwan Cooking alt</p>
</a></div>
</div>
</section>
<hr>
<!-- Minecraft server callout section -->
<section id="minecraft-section">
<h3>Play Minecraft? Go check out the <a href="{{ site.links.minecraft_website }}">community Minecraft server</a>!</h3>
<img class="u-max-full-width" src="https://static.wikia.nocookie.net/minecraft_gamepedia/images/f/ff/Java_Edition_logo_12.png" alt="Minecraft Java Edition logo">
<p>This world is open to everyone who would like to play on it. There are no mods installed, and currently only world is available. I am open to adding mods in the future and even adding more worlds, just let me know!</p>
<p><strong>Note:</strong> The website is currently a work in progress, but it will be up soon!</p>
</section>
<hr>
<!-- Bit Goblin forum callout section -->
<section id="forum-section">
<h3>You can also participate in the <a href="{{ site.links.forum }}">community forum</a>!</h3>
<p>Some of us love the old-style internet forums to converse and help others out. Anything you would like to discuss may happen here under the proper forum sections.</p>
<p><strong>Note:</strong> Currently the Bit Goblin forum is under construction, but check back soon if you'd like to participate!</p>
</section>

View File

@ -1,5 +0,0 @@
---
layout: default
---
{{ content }}

View File

@ -1,10 +0,0 @@
---
layout: default
---
<h1>{{ page.title }}</h1>
<p class="post-info">{{ page.date | date: "%a %b %d, %Y" }}</p>
{{ content }}
If you want to read more posts like this, be sure to subscribe to the [RSS feed](/feed.xml)! Else, if you like watching videos then head on over to [my YouTube channel]({{ site.links.bitgoblin_channel }}) or follow over on [Twitch]({{ site.links.twitch_channel }}) where I occasionally stream games. Feel free to join the Bit Goblin community on [Discord]({{ site.links.discord_invite }}) as it is growing. Finally, if you'd like to support me in my endeavors, head on over to [Patreon]({{ site.links.patreon_link }}) and pitch me a few bucks if you can.

View File

@ -1,17 +0,0 @@
---
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
tags: housekeeping
---
There's not much else to say... welcome to Bit Goblin!
If you're here then you likely don't need a real introduction since you're probably coming from YouTube or some other platform that you've met me on. But either way, in case you don't already know me, I'm a fun-loving, tech nerd that loves playing with anything relating to computers. Whether it's networking, system administration, database administration, building PCs, software development... the list goes on, but I love it all. To me, it's really fun building things and making things do what I want them to, whether it's to make my life a little bit easier, self-host some services to better safeguard my data, or just for fun. (...it's mostly for fun!)
The content I post is mostly centered around me just documenting what I'm doing for my own future reference if I ever run into the same problems, and hopefully it helps you out as well or at least gets your gears turning and motivates you to go out and play with tech in your own way.
The primary content that I publish is over on YouTube on my [Bit Goblin channel]({{ site.links.bitgoblin_channel }}), and I also semi-regularly post videos on Old School RuneScape over on [Ascendings]({{ site.links.ascendings_channel }}). If you prefer watching live content more, then you can head on over to [my Twitch channel]({{ site.links.twitch_channel }}) - I'm not nearly as active over there but I do hop occasionally to interact with you all and have a good time playing games (mostly Old School RuneScape... it's my favorite game, stop judging me).
I'm also huge into building an inclusive, supportive community for great people to chat, chill and help each other out. In this vein I've spun up a [Discord server]({{ site.links.discord_invite }}) for you all to go hang out in and chat, and I'm currently in the process of spinning up a Minecraft server for you all to play on and a forum for a more laid back, old school-style way to talk to one another and get help. I'm open to spinning up more services for the community, so be sure to let me know if there's anything you want!

View File

@ -1,33 +0,0 @@
---
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

@ -1,13 +0,0 @@
---
layout: page
---
<ul id="post-list">
{% for post in site.posts %}
<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>
<p>{{ post.description }}</p>
</li>
{% endfor %}
</ul>

View File

@ -1,5 +0,0 @@
---
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).

View File

@ -1,10 +0,0 @@
---
layout: home
---
Welcome! My name is Greg Ballantine and Bit Goblin is my passion project for creating YouTube videos on tech. I love tinkering with all things related to computers, and I enjoy documenting the things that I do so that others can use my struggles to ease their own. Whether it's buildings PCs, playing with networking gear, or exploring the beauty of Linux, there are lots of things to play with and try to help others with.
Not only do I create tech videos for Bit Goblin, but I'm also trying to build a community around it for great people to just chill, have fun, and help each other out when need arises. Ranging from the aforementioned YouTube videos on computer hardware, networking and Linux, to a community Minecraft server, a Discord server for everyone to relax and chat with each other, a future community forum and other services. Everyone is welcome to join the community, all I ask is that you simply just be excellent to each other. Easy enough, right?
I do work with sponsors to help fund my projects. If you're curious about who I've worked with before, check out the [Sponsors page]({% link sponsors.markdown %}).

View File

@ -1,5 +0,0 @@
---
layout: page
---
These are the sponsors I work with...

View File

@ -1,10 +0,0 @@
---
layout: page
---
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!

78
views/index.pug Normal file
View File

@ -0,0 +1,78 @@
extends layout.pug
block content
p Welcome! My name is Greg Ballantine and Bit Goblin is my passion project for creating YouTube videos on tech. I love tinkering with all things related to computers, and I enjoy documenting the things that I do so that others can use my struggles to ease their own. Whether it's buildings PCs, playing with networking gear, or exploring the beauty of Linux, there are lots of things to play with and try to help others with.
p Not only do I create tech videos for Bit Goblin, but I'm also trying to build a community around it for great people to just chill, have fun, and help each other out when need arises. Ranging from the aforementioned YouTube videos on computer hardware, networking and Linux, to a community Minecraft server, a Discord server for everyone to relax and chat with each other, a future community forum and other services. Everyone is welcome to join the community, all I ask is that you simply just be excellent to each other. Easy enough, right?
p I do work with sponsors to help fund my projects. If you're curious about who I've worked with before, check out the [Sponsors page](/sponsor).
hr
// Bit Goblin YouTube channel section
section#bitgoblin-section.youtube-section
h3 Find Bit Goblin on #[a(href='https://youtube.com/BitGoblin') YouTube].
.row
.video-card.columns.four
a(href='https://www.youtube.com/watch?v=cYSLW1qIzKE')
img.u-max-full-width(src='/assets/images/bitgoblin-thumbnails/bg-46-thumbnail.png',alt='Add a Bunch of Hard Drives to Your PC! (kinda...)')
p How to Install the NVIDIA Driver on Linux
.video-card.columns.four
a(href='https://www.youtube.com/watch?v=4oCuX4xFieo')
img.u-max-full-width(src='/assets/images/bitgoblin-thumbnails/bg-20-thumbnail.png',alt='How About a Cheap, Used AMD Graphics Card? (R9 270X)')
p How About a Cheap, Used AMD Graphics Card? (R9 270X)
.video-card.columns.four
a(href='https://www.youtube.com/watch?v=kMaFYUNwE5U')
img.u-max-full-width(src='/assets/images/bitgoblin-thumbnails/bg-36-thumbnail.png',alt='Let\'s Take a Look at Debian 10 Buster')
p Let's Take a Look at Debian 10 "Buster"
hr
// Ascendings YouTube channel section
section#Ascendings-section.youtube-section
h3 Like watching Old School RuneScape videos? Go watch #[a(href='https://youtube.com/AscendingsRS') Ascendings].
.row
.video-card.columns.four
a(href='https://www.youtube.com/watch?v=LtOpQv6ZBq0&list=PLIg6BQwweIwGdQNrbDMwGPxifgJ7iIXnE')
img.u-max-full-width(src='/assets/images/ascendings-thumbnails/asc-37-thumbnail.png',alt='F2P Hardcore Ironman Playlist')
p F2P Hardcore Ironman Playlist
.video-card.columns.four
a(href='https://www.youtube.com/watch?v=AhcCiqDegr0')
img.u-max-full-width(src='/assets/images/ascendings-thumbnails/asc-30-thumbnail.jpg',alt='Is Daeyalt Essence Worth Using?')
p Is Daeyalt Essence Worth Using?
.video-card.columns.four
a(href='https://www.youtube.com/watch?v=W3pFR_e3OuM')
img.u-max-full-width(src='/assets/images/ascendings-thumbnails/asc-19-thumbnail.jpg',alt='Karambwan Cooking alt')
p Karambwan Cooking alt
hr
// Minecraft server callout section
section.minecraft-section
h3 Play Minecraft? Go check out the #[a(href='https://mc.bitgoblin.tech') community Minecraft server]!
img.u-max-full-width(src='https://static.wikia.nocookie.net/minecraft_gamepedia/images/f/ff/Java_Edition_logo_12.png',alt='Minecraft Java Edition logo')
p This world is open to everyone who would like to play on it. There are no mods installed, and currently only world is available. I am open to adding mods in the future and even adding more worlds, just let me know!
p #[strong Note:] The website is currently a work in progress, but it will be up soon!
hr
// Bit Goblin forum callout section
section#forum-section
h3 You can also participate in the #[a(href='https://forum.bitgoblin.tech') community forum]!
p Some of us love the old-style internet forums to converse and help others out. Anything you would like to discuss may happen here under the proper forum sections.
p #[strong Note:] Currently the Bit Goblin forum is under construction, but check back soon if you'd like to participate!

38
views/layout.pug Normal file
View File

@ -0,0 +1,38 @@
doctype=html
html
head
meta(charset='utf-8')
meta(name='viewport', content='width=device-width, initial-scale=1')
title Bit Goblin
link(rel='stylesheet', href='https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css')
link(rel='stylesheet', href='/assets/stylesheets/zulrah.css')
script(src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js')
script(src='/assets/scripts/vorkath.js')
body
#wrapper
header#header-box
div#header-logo
h1 Bit Goblin
nav#navigation
ul
li
a(href="/") Home
li
a(href="/blog") Blog Posts
li
a(href="/support") Support
li
a(href="/contact") Contact
#main-content.container
.row
.columns.twelve
block content
footer#footer
.row
div.columns.twelve
p.u-text-center The Bit Goblin website.
p.u-text-center &copy; Bit Goblin | all rights reserved.