# A Jekyll Scratch Pad That Pushes Past GitHub Pages Limits

> bseth99/sandbox is a personal Jekyll source repository for a GitHub Pages demo site, built to work around GitHub's disabled plugins by generating locally and pushing output.

**bseth99/sandbox** — This is the source for my GitHub pages.

- Repository: https://github.com/bseth99/sandbox
- Website: bseth99.github.com
- Stars: 100 · Forks: 116
- Language: JavaScript
- License: not declared
- Published: 2026-08-17 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/bseth99-sandbox

## A Personal Scratch Pad with a Specific Purpose

bseth99/sandbox is the source for Ben's sandbox site on GitHub Pages. The README calls it a scratch pad for demos and examples that do not fit his main projects. It is also a test bed for Jekyll. The intended audience is narrow: Ben himself, and perhaps other Jekyll users who read his blog. The repository exists to solve a concrete problem: making tags work on pages the way they do on posts. Standard Jekyll on GitHub Pages does not support that out of the box. This repo shows one way around the limitation.

## Why the Source Is Not the Site

The README answers a question the author expects visitors to ask: why is the source here? The answer is that GitHub disables custom Jekyll plugins on Pages. To get tags on pages, Ben wrote custom plugins and placed them in _plugins. Because GitHub would not run those plugins during the automatic render, the site cannot be built directly from this repo. Instead, the repository holds the Jekyll source, and Ben generates the site locally, then pushes the generated content to a separate Pages repository. This is a two-repo workflow. The mechanism is visible in the repository layout: the _plugins directory contains the custom code, and the README references a blog post about the experience.

## The Custom Plugin Workaround for Tags

The core technical contribution is the custom Jekyll plugins in _plugins. The README does not describe the plugin code in detail, but the intent is clear: extend Jekyll so that tags appear on pages, not just posts. In standard Jekyll, tags are commonly associated with blog posts. Pages, such as static content or project pages, often lack that association. Ben's plugins add that functionality. The trade-off is that this approach requires local generation. You cannot rely on GitHub's build service. You must run Jekyll yourself, which means managing Ruby, Jekyll, and dependencies on your own machine. The repository is a demonstration of that trade-off.

## Running the Project: What the Material Shows

The README does not include installation or build commands. It does not list a Gemfile or configuration keys. What is visible is the repository structure: a Jekyll source with _plugins, and a reference to pushing generated content to a Pages repo. To run this, you would need to clone the repo, install Jekyll and its dependencies, run a local build, and then push the _site output to your Pages repository. The README points to a blog post for the full experience. Without that post, the exact commands are unconfirmed. The lack of explicit setup steps is a limitation for anyone who wants to replicate the workflow quickly.

## Where This Repository Falls Short

The most obvious limitation is that the repository is a personal scratch pad. It is not a documented project. There are no releases, no license, and no clear maintenance history. The README is honest about this: it is a test bed. If you are an engineer evaluating it for adoption, you should expect to read the plugin code yourself. The documentation is thin. The site's content is likely dated, given the blog post reference from 2012 and the default branch named master. The repository may not work with current Jekyll versions. The plugin API has changed over the years. What worked in 2012 may break today. This is a real failure mode for anyone trying to reuse the code.

## Alternatives: Automatic Builds vs. Local Generation

The standard alternative is to use GitHub Pages with the automatic Jekyll build, which works for most sites that do not need custom plugins. That approach runs Jekyll on GitHub's servers and publishes the result directly from the source repository. It is simpler and requires no local environment. The trade-off is that you cannot use custom plugins. If you need tags on pages, you could also use a plugin-free solution, such as generating tag pages with a static site generator that supports them natively, or using client-side JavaScript to filter content. The difference is the build location: GitHub's servers vs. your local machine. This repository chooses local generation to keep plugin freedom.

## Maintenance and License Implications

The license is listed as unknown. That is a red flag for reuse. You cannot legally copy or adapt the code without clarifying the license with the author. The maintenance cost is tied to Jekyll's own evolution. Custom plugins written for an older Jekyll version may require updates. The repository has no recent releases and no clear push history, so it is fair to assume it is not actively maintained. For a personal sandbox, that is fine. For a production site, it is a warning. The value of the repository is not in the demos but in the demonstrated workaround pattern. If you need that pattern, you should verify the plugin code and the Jekyll version compatibility first.

## Conclusion

Adopt this repository if you run a personal Jekyll site on GitHub Pages and need custom plugins, especially for tag pages on non-post content. It is a working example of a local-build workflow, not a ready-made theme or framework. Do not use it if you want a simple, automatic Pages build or a maintained project. Before adopting, verify the plugin code in _plugins, check the Ruby and Jekyll versions in your environment, and confirm your Pages repo accepts pre-built content. The value is in the workaround pattern, not in the demos themselves.

## FAQ

### What is the bseth99/sandbox repository?

It is the source repository for a sandbox site containing various demos and examples that do not fit the author's main projects. The README describes most of it as a scratch pad that might roll into a project, and notes that his blog generally references the site.

### Why is the source in this repository instead of the Pages site?

Because he wanted tags to work on pages the way they do on posts, which required custom Jekyll plugins, and GitHub disables plugins on the Pages site. So this repository holds the source and the generated content is pushed to a separate Pages repository.

### How is the bseth99 sandbox site built and published?

Locally, then by push. A Rakefile at the repository root drives the build and deploy.sh pushes the generated content to the Pages repository, since the automatic render on Pages cannot run the plugins in _plugins/.

### What does the bseth99 sandbox site use Jekyll to test?

Creating a site on GitHub. The README says the author wanted to try out Jekyll to create a site on GitHub, so the repository serves as a test bed for that experience as well as a home for his demos and examples.

## Sources

- [Official README](https://github.com/bseth99/sandbox#readme)
- [Project repository](https://github.com/bseth99/sandbox)
- [README](https://github.com/bseth99/sandbox/blob/master/README.md)
- [Releases](https://github.com/bseth99/sandbox/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/bseth99-sandbox
