Unit 04 · lesson
Content Is Not All the Same Shape
A portfolio contains different kinds of information.
Treating all of it as "pages" works for a while. Then you start hand-building lists, copying project cards, sorting dates manually, and wondering why changing one field requires five edits.
Jekyll gives you several content models because different information has different behavior.
Four models you will use
Pages
Best for singular site destinations such as Home, About, Contact, or a résumé page.
Data files
Best for structured data that a template should iterate or look up, but which does not need its own content-body page by default.
Posts
Best for date-oriented content such as a technical journal or project log.
Collections
Best for custom content types that behave like documents but are not fundamentally organized by publication date.
Projects are a strong portfolio example.
The design question
Do not ask:
Which Jekyll feature have I not used yet?
Ask:
What behavior does this content need?
A navigation list might need structured labels and URLs but no page body.
A project needs metadata plus substantial Markdown content and likely its own URL.
A weekly development log is date-oriented.
These pressures point toward different models.
Classification exercise
Classify each:
- site navigation links;
- About page;
- project case study;
- dated learning journal entry;
- list of social links;
- résumé PDF metadata;
- list of project technologies.
For each, defend your choice.
There can be more than one valid architecture. Your reasoning matters.
Anti-pattern: one giant YAML file
Structured data is powerful, but not every long-form page belongs inside YAML strings.
If content has meaningful Markdown body, front matter, a public URL, and content-specific layout behavior, a document/page/collection may be clearer.
Unit artifact begins now
Create a content architecture table:
| Content | Model | Why | Needs public URL? | Ordered by date? |
|---|
You will revise it through the Unit.
Checkpoint
Choose one current portfolio item and explain why another Jekyll content model would be a worse fit.