Unit 07 · lesson

GitHub Pages Plugin Constraints

Local Jekyll and hosted Jekyll are related environments, not automatically identical environments.

That matters most when plugins enter the build.

Two deployment approaches to understand

GitHub Pages currently supports publishing from a branch and publishing through a custom GitHub Actions workflow.

GitHub's current documentation recommends GitHub Actions when you want more control over the build/automation path.

A branch-based Pages build uses GitHub's supported Jekyll environment and constraints.

A custom workflow can give you more explicit control over dependency installation and the Jekyll build before the generated artifact is deployed.

Do not memorize a plugin whitelist forever

Supported versions/plugins change over time.

The course rule is:

Before depending on a plugin, verify it against the current official GitHub Pages/Jekyll documentation and your chosen publishing path.

The source map for this Unit records that this deployment constraint was checked against official GitHub documentation on 2026-08-10.

Compatibility evidence

For a candidate plugin, record:

Plugin:
Local build works? yes/no
Chosen Pages mode: branch / custom Actions workflow
Current official support evidence:
Production build evidence:
Fallback if unsupported:

Failure pattern

Local build:

PASS

GitHub Pages build:

FAIL: dependency/plugin unavailable or disallowed

That pattern does not mean the plugin code suddenly changed in transit.

It tells you to compare environments/build policies.

Security boundary

Do not paste arbitrary third-party plugin code into _plugins merely to bypass a hosting restriction.

You would be adding executable build code whose behavior and maintenance you now own.

Checkpoint

Explain why plugin compatibility is part of deployment architecture, not only local Jekyll configuration.