JekyllBlog

blog (xransum) — Jekyll Blog Template

By xransum

A personal developer blog template built on Jekyll with the Chirpy theme, including scripted local development, production preview, and HTML validation workflows.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

Personal developer blog built with Jekyll and the Chirpy theme

02

Provides scripted commands such as setup, run, run-prod, test, and build

03

Development mode enables LiveReload and drafts; production mode disables drafts

04

The test script performs a production build and validates links and HTML with htmlproofer

05

PyScript editor starter code is stored in a _data file and rendered via an include

Template Details

This template is a personal developer blog built with Jekyll and the Chirpy theme; the repository owner uses it for their own site (demo at kevin-haas.com). The repository wraps common workflows in scripts: setup installs Ruby gems and Node packages and compiles JS assets under assets/js/dist/; run starts the local server in development mode with LiveReload and drafts enabled; run-prod starts with production environment variables and drafts disabled, for local preview close to production; test performs a production build and runs htmlproofer to validate links and HTML; build only rebuilds JS assets.

For content organization, the template stores starter code for the PyScript interactive editor in _data/python_training_editors.yml and renders it through _includes/embed/python-training/python-editor.html to avoid production HTML processing altering editor whitespace. The README also provides example git and gh commands for branches, commits, PRs, and merges. The repository is MIT-licensed, and the free scope covers the code of this version itself; demo images, fonts, icons, and other third-party assets require separate license verification, and external services such as domains and hosting may incur costs.

JekyllBlog

Is it right for your project?

Use Cases

  • Build a personal developer blog and publish posts and project pages
  • Write drafts locally in development mode with live preview
  • Preview rendering close to production locally with production configuration
  • Validate links and HTML structure before committing
  • Embed a PyScript interactive code editor in the blog

Suitable For

  • Developer blogs using Jekyll and the Chirpy theme
  • Personal sites that need scripted local development and validation workflows
  • Projects that want to manage embedded code snippets via data files

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires ruby, bundle, node, and npm to be installed beforehand

  2. 2

    After cloning, run ./scripts/setup to install dependencies and compile JS assets

  3. 3

    Use ./scripts/run to start the development server (default http://localhost:4000)

  4. 4

    Use ./scripts/run-prod for local preview with production configuration

  5. 5

    Use ./scripts/test to perform a production build and htmlproofer validation

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope covers the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • You may use, modify, commercially use, and distribute the code of this version for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Before using this template, you must install the runtime environment such as Ruby, Bundler, Node.js, and npm; otherwise the setup and build scripts cannot run.
  • On first use, you need to run ./scripts/setup to install Ruby gems and npm dependencies over the network and compile JS assets; dependency installation relies on external package sources.
  • The development server listens on local port 4000 by default and enables LiveReload and drafts; it is only suitable for local writing and preview.
  • Production preview mode disables drafts, so draft content will not appear in the rendering results of that mode.
  • The validation script performs a production build and runs htmlproofer; it depends on external links being reachable and may fail due to network issues or broken external links.
  • Embedded PyScript editor code snippets must be organized according to the specified data file and include structure; deviating from that structure may cause production HTML processing to alter editor whitespace.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Requires `ruby`, `bundle`, `node`, and `npm` to be installed.

Original README

This installs Ruby gems via Bundler, installs Node packages via npm, and compiles the JS assets under `assets/js/dist/`.

Original README

Starts Jekyll at `http://localhost:4000` with LiveReload and draft posts enabled.

Original README

Starts Jekyll locally with `JEKYLL_ENV=production` and drafts disabled so rendered output matches the production environment much more closely.

Original README

Does a production Jekyll build and runs `htmlproofer` to validate links and HTML.

Original README

Interactive PyScript editor snippets are stored in `_data/python_training_editors.yml`

Original README
https://github.com/xransum/blog/blob/master/LICENSEhttps://github.com/xransum/blog/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 80 / 100
Technologies
Jekyll
Website type
Blog
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-10-01
Screenshot last checked
2026-10-03

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Jekyll as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: [email protected] · 2026-10-04

Inspect the recorded source material

SHA-256: 01d9c4d4afdbf5427ed82b23cc347d85a6470db0e3b0c89429cf02c8162cf03a

2026-10-03T17:59:57.126Z

Source file / repository
# Blog

## Setup

Run this once after cloning, or any time dependencies change. Requires `ruby`, `bundle`, `node`, and `npm` to be installed.

```bash
./scripts/setup
```

This installs Ruby gems via Bundler, installs Node packages via npm, and compiles the JS assets under `assets/js/dist/`.

## Run the Dev Server

```bash
./scripts/run
```

Starts Jekyll at `http://localhost:4000` with LiveReload and draft posts enabled. Checks that deps are installed and assets are built before starting — if anything is missing it will point you back to `./scripts/setup`.

This now runs with `JEKYLL_ENV=development` explicitly so local authoring mode is unambiguous.

## Run a Production-Parity Server

```bash
./scripts/run-prod
```

Starts Jekyll locally with `JEKYLL_ENV=production` and drafts disabled so rendered output matches the production environment much more closely.

## Test (HTML validation)

```bash
./scripts/test
```

Does a production Jekyll build and runs `htmlproofer` to validate links and HTML.

Use this when you want the closest match to the GitHub Pages build pipeline.

## Python Training Editors

Interactive PyScript editor snippets are stored in `_data/python_training_editors.yml` and rendered through `_includes/embed/python-training/python-editor.html`.

This keeps starter code out of raw inline `<script type="py-editor">` tags so production HTML processing does not accidentally rewrite editor whitespace.

## Build Assets Only

If you only need to rebuild JS assets (e.g. after pulling changes):

```bash
./scripts/build
```

## Pushing Changes

### Committing Changes

```bash
git add .
git commit -m "Commit message"
```

### Pushing Changes

```bash
git switch --create my-changes master
git push -u origin my-changes
```

### Creating a Pull Request

```bash
gh pr create --base master --head my-changes --fill
gh pr status
gh pr merge 6 --merge --delete-branch
```

### Deleting a Branch

```bash
git switch master
git branch -d my-changes
```
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.