This repository contains the source code for seeknay.com, a personal tech blog built with Jekyll and hosted on GitHub Pages.
- Type: Personal Blog / Portfolio
- Engine: Jekyll
- Theme: Minimal Mistakes (Remote Theme)
- Hosting: GitHub Pages
The site leverages the power of static site generation via Jekyll, utilizing a remote theme for styling and layout to keep the codebase clean and maintainable.
- Ruby: The underlying language for Jekyll.
- Liquid: Templating language used for dynamic content insertion.
- Markdown (Kramdown): Used for authoring content (posts and pages).
- YAML: Used for configuration (
_config.yml) and Front Matter data. - SCSS: The theme uses SCSS, though this repo currently relies on the standard theme assets.
_config.yml: Critical. The central configuration file. Controls site settings, author info, navigation, and plugins. Note: Changes here require a server restart._posts/: Contains blog posts. Format:YYYY-MM-DD-title.md._pages/: Contains static pages (e.g.,about.md,404.md, Archives)._includes/: HTML partials. Contains a custom overrides likeanalytics-providers/google-gtag.html.assets/: Currently stores images inimages/.Gemfile: Define Ruby gem dependencies.
- Line Endings: Use standard LF.
- Encoding: UTF-8.
When acting as an AI assistant for this repository, please adhere to the following:
-
Content Creation:
- New posts must go into
_posts/with the filename formatYYYY-MM-DD-title.md. - Ensure valid YAML Front Matter (title, date, categories, tags).
- Use
classes: widein Front Matter or defaults if a wide layout is preferred.
- New posts must go into
-
Configuration Management:
- All global settings (Title, Description, Author links, Sidebars) are managed in
_config.yml. - When modifying
_config.yml, remind the user that a local server restart is required.
- All global settings (Title, Description, Author links, Sidebars) are managed in
-
Theme Customization:
- Do not try to edit theme files directly as they are loaded remotely.
- To Override: Create a file with the same path and name in the local directory (e.g.,
_includes/head.htmlto override the theme's head). - Custom CSS: If requested, create
assets/css/main.scssand import the theme's CSS specifically to add overlays, but prefer using_config.ymlskin settings first.
-
Plugins:
- Supported plugins are listed in
Gemfileundergithub-pagesorjekyll_plugins. - Current plugins:
jekyll-paginate,jekyll-sitemap,jekyll-gist,jekyll-feed,jemoji,jekyll-include-cache,jekyll-algolia.
- Supported plugins are listed in
To run the site locally:
bundle install
bundle exec jekyll serveAccess via http://localhost:4000.
The site is deployed automatically via GitHub Pages when changes are pushed to the default branch.
For detailed configuration options, refer to the Minimal Mistakes Configuration Documentation.
- Skins:
default,air,aqua,contrast,dark,dirt,neon,mint,plum,sunrise - Locale: Defined in
_config.yml(e.g.,en-US). Matches_data/ui-text.yml. - Search: Enabled via
search: true.