A sleek, dark Jekyll theme designed for developers and technical writers. Features a carefully crafted color palette with RGB(23,32,36) background and RGB(192,239,254) foreground, plus extensive syntax highlighting support.
- π Dark theme optimized for long reading sessions
- π» Syntax highlighting for 100+ programming languages via Prism.js
- π± Responsive design that works on all devices
- β‘ Fast loading with minimal CSS/JS footprint
- π SEO optimized with Jekyll SEO tag integration
- π¨ Customizable color scheme and layout options
This is the easiest way to use the theme with GitHub Pages:
- Create a new repository or use an existing one
- Copy the starter template from
starter-template/directory - Customize
_config.ymlwith your details:
remote_theme: biggiebk/theme_mymadlab
title: Your Site Title
description: Your site description
author: Your Name
email: [email protected]
github_username: yourusername
repository: yourusername/your-repo-name
plugins:
- jekyll-remote-theme
- jekyll-feed
- jekyll-sitemap
- jekyll-seo-tag
show_posts: true
show_rss_subscribe: false-
Enable GitHub Pages:
- Go to Settings β Pages
- Source: Deploy from a branch
- Branch:
main
-
Your site will be live at:
https://yourusername.github.io/repository-name
- Fork this repository
- Rename it to
yourusername.github.io(for user site) or keep any name (for project site) - Edit
_config.ymlwith your details - Replace content in
index.mdand add your posts - Enable GitHub Pages in repository settings
For local development and custom hosting:
For local development and custom hosting:
Add to your Gemfile:
source "https://rubygems.org"
gem "jekyll", "~> 4.3.0"
gem "theme_mymadlab"
gem "jekyll-feed"
gem "jekyll-sitemap"
gem "jekyll-seo-tag"Add to your _config.yml:
theme: theme_mymadlab
plugins:
- jekyll-feed
- jekyll-sitemap
- jekyll-seo-tagInstall and run:
bundle install
bundle exec jekyll serve-
Create new repository on GitHub
-
Clone locally:
git clone https://github.com/yourusername/your-repo.git cd your-repo -
Copy starter files from this repo's
starter-template/directory:_config.ymlGemfile(for local development)index.md
-
Customize and push:
# Edit _config.yml with your details git add . git commit -m "Initial setup with MyMadLab theme" git push origin main
-
Enable GitHub Pages:
- Repository Settings β Pages
- Source: Deploy from a branch
- Branch: main
- Save
- Fork this repository on GitHub
- Rename (optional):
yourusername.github.iofor user site- Any name for project site
- Edit content:
- Update
_config.yml - Replace
index.mdcontent - Add posts to
_posts/
- Update
- GitHub Pages automatically enabled
To work on your site locally:
# Clone your repository
git clone https://github.com/yourusername/your-repo.git
cd your-repo
# Install dependencies
bundle install
# Start development server
bundle exec jekyll serve
# Visit http://localhost:4000The theme supports several configuration options in your _config.yml:
title: Your Site Title
description: Your site description
author: Your Name
email: [email protected]
github_username: yourusername
repository: yourusername/repository-name # For GitHub link in header# Control what appears on your site
show_posts: true # Show/hide posts list on homepage
show_rss_subscribe: true # Show/hide RSS subscription links
show_post_dates: true # Show/hide publication dates in post listings (set to false to hide)You can control whether post dates appear in listing views (homepage, category previews, and post lists) using the show_post_dates flag. Set it to false in your _config.yml to hide dates from those lists while keeping them on individual post pages.
# Control which pages appear in header navigation
header_pages:
- about.md
- contact.md
# Leave empty array to show no pages, or omit to show all pages---
layout: home
title: "Welcome"
---
# Your Homepage Content
Write your homepage content here...---
layout: post
title: "Your Post Title"
date: 2025-01-01 12:00:00 -0000
categories: [development, tutorial]
tags: [jekyll, github-pages]
---
Your post content here...---
layout: page
title: About
permalink: /about/
---
Your page content here...- Automatic generation from H1, H2, H3 headers
- Fixed positioning (stays visible while scrolling)
- Smooth scrolling to sections
- Active section highlighting
- Syntax highlighting with Prism.js (100+ languages)
- Copy code button on all code blocks
- Dark theme optimized colors
- Responsive code blocks
- Mobile-first approach
- Collapsible navigation on small screens
- Touch-friendly interface
- Optimized typography for all devices
- β Automatic deployment on push
- β Custom domains supported
- β HTTPS enabled
- β CDN powered
- Netlify: Connect GitHub repo for auto-deploy
- Vercel: Import repository for instant deployment
- GitLab Pages: Use with GitLab CI/CD
- AWS S3: Static site hosting
- Self-hosted: Any web server with Jekyll build
# _config.yml
title: Your Site Title
description: Your site description
url: "https://yourusername.github.io"
author: Your Name
plugins:
- jekyll-seo-tag
- jekyll-sitemap
- jekyll-feed# Google Analytics
google_analytics: UA-XXXXXXXX-X
# Google Analytics 4
google_analytics: G-XXXXXXXXXXThe theme uses these carefully selected colors:
| Element | Color | RGB Value |
|---|---|---|
| Background | Dark Blue-Gray | rgb(23, 32, 36) |
| Foreground | Light Cyan | rgb(192, 239, 254) |
| Accent | Bright Blue | rgb(100, 200, 255) |
| Code Background | Dark Overlay | rgba(0, 0, 0, 0.4) |
Override theme styles by creating assets/css/style.scss:
---
---
@import "{{ site.theme }}";
/* Your custom styles */
.custom-class {
color: #your-color;
}
/* Override theme variables */
:root {
--background-color: rgb(23, 32, 36);
--foreground-color: rgb(192, 239, 254);
}Override any layout by creating files in _layouts/:
_layouts/
βββ default.html # Override default layout
βββ post.html # Override post layout
βββ page.html # Override page layout
βββ home.html # Override home layout
theme_mymadlab/
βββ _layouts/
β βββ default.html # Base layout
β βββ home.html # Homepage layout
β βββ page.html # Static pages
β βββ post.html # Blog posts
βββ _includes/
β βββ head.html # HTML head section
β βββ header.html # Site header
β βββ footer.html # Site footer
β βββ social.html # Social media links
βββ _sass/
β βββ mymadlab/
β βββ _base.scss # Base styles
β βββ _layout.scss # Layout styles
β βββ _syntax-highlighting.scss
βββ assets/
β βββ main.scss # Main stylesheet
β βββ js/
β β βββ copy-code.js # Code copy functionality
β β βββ table-of-contents.js
β βββ mymadlab-social-icons.svg
βββ starter-template/ # Quick start files
βββ _config.yml
βββ Gemfile
βββ index.md
βββ README.md
- Chrome/Chromium 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Mobile browsers
This theme is available as open source under the terms of the MIT License.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
git clone https://github.com/biggiebk/theme_mymadlab.git
cd theme_mymadlab
bundle install
bundle exec jekyll serve- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π Documentation: GitHub Wiki
- π Quick Start:
starter-template/directory - π Jekyll Docs: Jekyll Documentation
This theme is available as open source under the terms of the MIT License.
Ready to build something amazing? Get started with MyMadLab! π