Unit 07 · lesson
What a Theme Actually Provides
A theme is not a coat of paint floating above your site.
In Jekyll, a theme can package real build inputs: layouts, includes, assets, Sass, data, and even plugin dependencies.
That means installing a theme changes the architecture of the source Jekyll can see.
Think dependency, not decoration
The official Jekyll theme documentation describes themes as packages that can provide:
- layouts;
- includes;
- assets;
- stylesheets/Sass;
- data;
- plugins and other gem dependencies.
A theme can therefore affect:
SOURCE PROJECT
+
THEME GEM CONTENT
↓
JEKYLL BUILD
↓
GENERATED SITE
Some of those theme files may not appear in your project directory at all.
That is the important part.
Why we waited until Unit 7
You already built layouts, includes, navigation, CSS, data, and content models yourself.
So now, when a theme supplies _layouts/default.html, you know what that means.
If we had installed a theme in Unit 1, you could have changed colors without understanding which source owned the document shell.
Theme inventory
Pick one Jekyll theme you are allowed to inspect. Do not install it into the portfolio yet.
Read its documentation or repository and identify which of these it provides:
layouts
includes
assets
Sass/CSS
data
plugins
configuration expectations
The source-ownership question
For every theme feature you want, ask:
Who owns this behavior after I adopt the theme?
If the answer is "some file inside the theme gem that I have never inspected," that is not automatically bad.
It does mean you accepted an abstraction boundary.
Update pressure
Themes can receive upstream updates.
That is useful when you remain close to the theme's intended extension points.
If you copy every hidden theme file into your project and rewrite all of them, you may keep the theme name while effectively maintaining a fork of its internals.
Portfolio decision
Do not install a theme because the course has a theme Unit.
Create a decision note:
Current custom portfolio strengths:
What a theme could provide:
What source/control I would give up:
What maintenance I might gain:
Decision for now: inspect / experiment / adopt / do not adopt
Checkpoint
Explain why a Jekyll theme is a build dependency and source provider, not merely a CSS preset.