Skip to content

Repository files navigation

Looking4OffSwitch's Blog

A personal blog built with Jekyll and the Minimal Mistakes theme, hosted on GitHub Pages.

Prerequisites

Install Ruby

macOS:

brew install ruby

Ubuntu/Debian:

sudo apt-get install ruby-full build-essential

Windows: Download and install from RubyInstaller

Install Bundler

gem install bundler

Local Development

Install dependencies

bundle install

Run the local server

./run_local.sh

Or directly:

bundle exec jekyll serve

Open http://localhost:4000/blog in your browser.

The server watches for changes and auto-rebuilds. Press Ctrl+C to stop.

Build without serving

bundle exec jekyll build

Output goes to the _site/ directory.

Creating New Posts

Posts live in the _posts/ directory and must follow this naming convention:

YYYY-MM-DD-title-of-post.md

Post template

---
layout: single
title: "Your Post Title"
date: 2026-01-04
categories: category1 category2
tags: tag1 tag2
---

Your content here. Write in Markdown.

Front matter options

Field Required Description
layout Yes Use single for blog posts
title Yes The post title (displayed as heading)
date Yes Publication date (YYYY-MM-DD)
categories No Space-separated categories
tags No Space-separated tags
toc No Set true to show table of contents
toc_sticky No Set true to make TOC sticky on scroll
excerpt No Custom excerpt for post previews

Markdown Formatting

Headers

# H1
## H2
### H3

Text styling

**bold**
*italic*
~~strikethrough~~
`inline code`

Links and images

[Link text](https://example.com)
![Alt text](/path/to/image.jpg)

Code blocks

```python
def hello():
    print("Hello, world!")
```

Long lines in code blocks

Code blocks don't wrap text - long lines require horizontal scrolling, which is poor UX. Break long commands across multiple lines using backslashes:

Bad (requires scrolling):

```bash
/some-command "very long argument that goes on and on and requires horizontal scrolling to read"
```

Good (wraps naturally):

```bash
/some-command \
  "very long argument that goes on and on" \
  --flag value
```

For long strings inside quotes, you can also break within the string:

```bash
/command \
  "First part of a long string. \
   Second part continues here."
```

Lists

- Unordered item
- Another item

1. Ordered item
2. Another item

Blockquotes

> This is a blockquote

Tables

| Header 1 | Header 2 |
|----------|----------|
| Cell 1   | Cell 2   |

Notices/Callouts

**Note:** This is a notice.
{: .notice}

**Warning:** This is a warning.
{: .notice--warning}

**Success:** This worked!
{: .notice--success}

Changing the Theme

Theme skins

Minimal Mistakes includes several color skins. Change in _config.yml:

minimal_mistakes_skin: "dark"  # "default", "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"

Customizing styles

Create assets/css/main.scss to add custom styles:

---
---

@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}";
@import "minimal-mistakes";

// Your custom styles here

Using a different theme

  1. Find a theme at rubygems.org or jekyllthemes.io

  2. Update Gemfile:

    gem "jekyll-theme-name"
  3. Update _config.yml:

    theme: jekyll-theme-name
  4. Run bundle install and restart the server

Configuration

Edit _config.yml to customize:

title: Your Blog Title
subtitle: Your tagline
description: A short description

author:
  name: Your Name
  bio: "A short bio"
  location: "City, Country"
  links:
    - label: "Email"
      icon: "fas fa-fw fa-envelope-square"
      url: "mailto:you@example.com"
    - label: "GitHub"
      icon: "fab fa-fw fa-github"
      url: "https://github.com/username"

Note: Changes to _config.yml require a server restart.

Deployment

Push to the main branch and GitHub Pages will automatically build and deploy.

The site will be available at: https://Looking4OffSwitch.github.io/blog

Resources

About

My blog

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages