Skip to content

Instantly share code, notes, and snippets.

View SolomonHD's full-sized avatar

Solomon Hilliard SolomonHD

  • Emory University
  • Atlanta,GA
View GitHub Profile
@SolomonHD
SolomonHD / jekyll-ghpages-installer.sh
Last active July 21, 2025 00:43
Jekyll GitHub Pages Tools Installer
#!/bin/bash
# jekyll-ghpages-installer
# Installer script for Jekyll GitHub Pages utilities
# Downloads and installs jekyll-ghpages-setup and jekyll-ghpages-deploy
#
# Documentation: https://gist.github.com/SolomonHD/1391d973b86c0aeb3e901cceeb34650f
set -euo pipefail # Exit on error, undefined vars, pipe failures
@SolomonHD
SolomonHD / README.md
Last active July 21, 2025 02:14
Jekyll GitHub Pages Tools README

Jekyll GitHub Pages Tools

A collection of command-line utilities for streamlined Jekyll GitHub Pages deployment on GitHub Enterprise Server (GHES) and GitHub.com. These tools simplify the process of setting up and deploying Jekyll sites to GitHub Pages using the gh-pages branch with a /docs folder structure.

📋 Overview

These tools solve common GitHub Pages deployment challenges:

  • Automated branch setup with proper folder structure
  • API-driven configuration to avoid manual settings
  • Force rebuild capability to fix 503 errors and deployment issues
@SolomonHD
SolomonHD / jekyll-ghpages-setup.sh
Last active July 21, 2025 00:42
GitHub Pages Setup Script
#!/bin/bash
# jekyll-ghpages-setup
# Script to initialize gh-pages branch with docs folder for GitHub Pages
# Run this script from the root of your repository
#
# Documentation: https://gist.github.com/SolomonHD/1391d973b86c0aeb3e901cceeb34650f
set -euo pipefail # Exit on error, undefined vars, pipe failures
@SolomonHD
SolomonHD / jekyll-ghpages-deploy.sh
Last active July 21, 2025 01:49
Jekyll Deploy Script
#!/bin/bash
# jekyll-ghpages-deploy
# Script to build Jekyll site locally and deploy to gh-pages branch
# Run this script from the root of your repository
#
# Documentation: https://gist.github.com/SolomonHD/1391d973b86c0aeb3e901cceeb34650f
set -euo pipefail # Exit on error, undefined vars, pipe failures
## Prerequisites:
# 1) Create a Docker IPv4 bridge network
# 2) Pick an IPv4 Address for Traefik, use the end of the network range
# 3) Pick a domain, recommend real DNS but faking is possible by editing the /etc/hosts file to point to Traefik's IPv4 address.
# 4) Replace the ${DOMAIN} place holder in the config-ldap.yaml, and env-config.js and files with the domain.
# 5) Get a valid certificate via Let's Encrypt or another method, recommend a wildcard cert
# 6) Copy cert/private key as /etc/letsencrypt/live/${DOMAIN}/{privkey.pem, fullchain.pem}, Uncomment lines 233-234 in the docker.compose.yml file
# Also uncomment the lines in traefik_dynamic.yaml after cert and key are in place
# 7) Copy this file as '.env', fill out with the appropriate values
@SolomonHD
SolomonHD / README.md
Last active July 12, 2025 17:57
SolomonHD's AdBlock Exclusion List

SolomonHD's AdBlock Exclusions List

Installation

To add to Adblock, import a filter with the following url:

https://gist.githubusercontent.com/SolomonHD/af2d4ccee5e893377396f1be16fcf12f/raw/solomonhd_adblock_exception_list.txt

@SolomonHD
SolomonHD / wireguard_yacht.json
Last active May 7, 2022 19:34
wireguard_yacht_template
[{
"type": 1,
"title": "WireGuard",
"name": "wireguard",
"description": "WireGuard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography.",
"logo": "https://cdn.freelogovectors.net/wp-content/uploads/2021/10/wireguard-logo-freelogovectors.net_-400x400.png",
"image": "linuxserver/wireguard:latest",
"categories": [
"Other"
],
@SolomonHD
SolomonHD / powershell_change_ssh_perms.ps1
Last active June 29, 2022 14:57
Powershell Change SSH Key Perms
## This Powershell template sets proper perms for ssh key usage in WSL2. Edit the variables before running
## Requires Powershell 7+!!!
## Set Variables
New-Variable -Force -Name Key -Value "$env:UserProfile\.ssh\key_file_name_here"
New-Variable -Name PERMS -Value "RW"
## Perform Operations,
@SolomonHD
SolomonHD / awx_get_token
Last active May 11, 2022 19:49
AWX login script, requires TOWER_USERNAME and TOWER_HOST to be set, uses encpass
#!/bin/bash
# Written by Solomon G Hilliard
### Additional Functionality ###
# To avoid having to set awx token for each shell, create and load this alias:
# alias awx='awx --conf.token $(cat ~/.ansible/.awxcli/token)'
### Requirements ###
# Encpass script: https://github.com/plyint/encpass.sh
# AWX CLI: https://github.com/ansible/awx/blob/devel/INSTALL.md#installing-the-awx-cli
@SolomonHD
SolomonHD / delegates.rb
Created December 2, 2019 22:04
Delegates file for S3
require 'net/http'
require 'uri'
require 'json'
require 'java'
##
# Delegate script to connect Cantaloupe to Fedora. It slices a piece of
# Cantaloupe for Samvera to consume.
#
# This is a first pass and doesn't have a lot of error checking built in yet.