Unit 07 · lesson

What Plugins Add to the Build

A plugin extends Jekyll's build behavior without requiring you to modify Jekyll core.

That is powerful.

It also means the build can now execute code and behavior that did not exist in the base generator.

Plugin boundary

The Jekyll plugin documentation describes extension points for creating custom generated content and other build behavior.

A plugin can participate in areas such as:

  • generators;
  • converters;
  • commands;
  • Liquid tags;
  • Liquid filters;
  • hooks.

Compare with a theme

A theme primarily packages presentation/source defaults and may declare plugins.

A plugin can change what the build can do.

Example conceptual difference:

THEME
supplies layout / includes / styles

PLUGIN
adds build-time behavior / generator / tag / filter / hook

They can overlap through dependency relationships, but they are not the same abstraction.

Why plugins need more scrutiny

Adding a plugin can affect:

  • build dependencies;
  • portability;
  • hosting compatibility;
  • security/update surface;
  • build time;
  • generated output;
  • required configuration.

A student portfolio probably does not need a plugin to solve every tiny formatting problem.

Inspect one candidate

Choose one well-documented Jekyll plugin relevant to publishing, such as a sitemap/feed/SEO helper supported by your intended deployment path.

Do not install it yet.

Record:

Problem it solves:
What build behavior it adds:
Dependency:
Configuration:
Generated output:
Hosting compatibility question:
Can current Jekyll/Liquid solve this without a plugin?

Checkpoint

Explain why "there is a plugin for it" is not yet a reason to add the dependency.