Computing
Jekyll: For Students
Build one portfolio from a blank folder to a tested, published Jekyll site while learning how the generator actually works. Students trace source files through Jekyll's rendering/build process, use Markdown, YAML front matter, Liquid, layouts, includes, data files, pages, posts, collections, assets, configuration, themes, plugins, Git, and deployment. They repeatedly debug controlled failures, verify generated output, make accessibility/privacy decisions, and finish by defending the site's architecture from source repository to production browser. The course is self-paced and organized as nine learner-facing Units.
Unit 0110 entries
- overviewUnit 1: Foundations and the Jekyll BuildA website can look complicated in the browser while beginning as ordinary files in a folder.→
- Lesson 1A Website Is Files Before It Is a ScreenOpen a polished website and your brain wants to start with the screen.→
- Lesson 2What Jekyll Actually DoesJekyll's README calls it a static site generator and describes a file-based workflow: content goes in, Markdown and Liquid can be rendered, and a complete static site comes out.→
- Lesson 3Ruby, Gems, Bundler, and the `Gemfile`Jekyll is not a standalone mystery executable that appeared on your computer.→
- Lesson 4Create the First Site Without a ThemeThemes are useful.→
- Lesson 5Source → Build → `_site` → Server → BrowserYou have already used the pipeline.→
- Lesson 6`jekyll build`, `jekyll serve`, and the CLIYou do not need to memorize every Jekyll option.→
- Lesson 7Project Anatomy and Generated FilesA Jekyll site is not just a pile of Markdown files.→
- Lesson 8Break the First Build and Trace the FailureYou learn a build system faster when you see it fail on purpose.→
- Lesson 9Unit Build: First Portfolio Checkpointends with a working site, but the site itself is only half the evidence.→
Unit 0212 entries
- overviewUnit 2: Markdown, Front Matter, and Liquidproved that source becomes generated output.→
- Lesson 1Markdown Is Source, HTML Is OutputYou already built HTML directly.→
- Lesson 2Markdown Rendering LabMarkdown is easy until you assume every piece of punctuation means what you think it means.→
- Lesson 3YAML Without the MysteryFront matter is written in YAML.→
- Lesson 4Front Matter and Page VariablesFront matter is the bridge between a content file and Jekyll's page data.→
- Lesson 5Liquid ObjectsLiquid is Jekyll's template language.→
- Lesson 6Jekyll `page`, `site`, and Built-In VariablesOnce you understand a Liquid object, the next question is:→
- Lesson 7Liquid FiltersObjects give you values.→
- Lesson 8Conditions and Control FlowSometimes a template should render something only when a condition is true.→
- Lesson 9Loops and Generated ListsOne of the best reasons to use a static site generator is to stop hand-copying repeated markup.→
- Lesson 10Debug Broken YAML and LiquidNow combine the two failure families you have been learning.→
- Lesson 11Unit Build: Data-Driven About Pageends when your About page is no longer a static block of repeated text.→
Unit 0312 entries
- overviewUnit 3: Layouts, Includes, and Reusable StructureYou can now generate values.→
- Lesson 1The Cost of Copy-Paste HTMLOpen two pages in your portfolio.→
- Lesson 2Layouts and the `content` BoundaryA Jekyll layout is a reusable template that wraps page content.→
- Lesson 3Build the First LayoutNow perform the refactor for real.→
- Lesson 4Page Variables Inside LayoutsA layout is reusable because it can combine shared markup with page-specific data.→
- Lesson 5Nested LayoutsSometimes every page shares one outer shell, while one content type needs additional structure.→
- Lesson 6Includes as Smaller Reusable PiecesLayouts solve repeated page shells.→
- Lesson 7Include ParametersAn include can be more than a fixed fragment.→
- Lesson 8Build Reusable NavigationNavigation looks like links.→
- Lesson 9Header and Footer RefactorNow finish the shared page shell.→
- Lesson 10Debug Layout and Include FailuresShared templates reduce duplication.→
- Lesson 11Unit Build: Portfolio Template Architectureends with a portfolio that has reusable structure, not merely more files.→
Unit 0416 entries
- overviewUnit 4: Data and Content SystemsThis is the largest content-model Unit in the course because Jekyll gives you several ways to represent information.→
- Lesson 1Content Is Not All the Same ShapeA portfolio contains different kinds of information.→
- Lesson 2Data Files and `site.data`Jekyll can load YAML, JSON, and CSV data from _data.→
- Lesson 3Build a Project Grid from `_data`Before moving projects into a collection, use a data file to understand the tradeoff.→
- Lesson 4Pages and Generated URLsA source filename and a public URL are related, but they are not identical concepts.→
- Lesson 5PermalinksA permalink controls an output path.→
- Lesson 6`url`, `baseurl`, and Safer Link ConstructionA local site at / and a deployed site under /repository-name/ can expose the same generated content through different base paths.→
- Lesson 7Posts and Filename ConventionsJekyll is blog-aware without requiring a database.→
- Lesson 8`site.posts`, Dates, Categories, and TagsOne post is a file.→
- Lesson 9Build a Technical Project JournalA portfolio shows results.→
- Lesson 10Collections and Custom Content TypesPosts solve date-oriented content.→
- Lesson 11Define a Project CollectionNow migrate the portfolio projects into a real content type.→
- Lesson 12Collection Documents and OutputYour project files exist.→
- Lesson 13Data Files vs Pages vs Posts vs CollectionsYou now have enough Jekyll features to make bad architecture decisions with confidence.→
- Lesson 14Debug a Content-Model FailureContent systems fail in different ways depending on the model.→
- Lesson 15Unit Build: Portfolio Content Architectureends with a portfolio whose content model can be explained.→
Unit 0512 entries
- overviewUnit 5: Assets, CSS, Responsive Design, and AccessibilityThe portfolio finally gets a deliberate visual system in this Unit.→
- Lesson 1Processed Assets vs Static FilesJekyll does not treat every file the same way.→
- Lesson 2Asset Paths and Why They BreakAn image can exist perfectly in source and still fail in the browser.→
- Lesson 3CSS Architecture for a Small Jekyll SiteJekyll can generate the page structure.→
- Lesson 4Typography, Spacing, and Visual HierarchyA portfolio should help someone understand your work.→
- Lesson 5Responsive LayoutsA portfolio that only works at your laptop width is not finished.→
- Lesson 6Images and Alternative TextImages are content and assets.→
- Lesson 7Semantic HTMLJekyll can generate valid-looking pages from terrible HTML.→
- Lesson 8Keyboard and Focus ChecksA site can look perfect with a mouse and be frustrating from the keyboard.→
- Lesson 9Metadata and Link QualityA generated page has more responsibilities than visible body content.→
- Lesson 10Responsive and Accessibility Failure LabYou now have enough shared design source to create failures that affect the whole site.→
- Lesson 11Unit Build: Portfolio Visual SystemThe portfolio can look like yours now.→
Unit 0616 entries
- overviewUnit 6: Configuration, Rendering, and DebuggingThis is the troubleshooting core of the course.→
- Lesson 1`_config.yml` Is Site-Wide StateA page controls page-level data.→
- Lesson 2Common Configuration ValuesConfiguration is not a checklist of keys to copy.→
- Lesson 3Front Matter DefaultsIf every project repeats the same front-matter value, that value may not belong in every project.→
- Lesson 4`url` and `baseurl`This pair causes a lot of "works locally, breaks online" confusion.→
- Lesson 5Development vs Production EnvironmentsA development build and a production build can intentionally behave differently.→
- Lesson 6The Jekyll Rendering ProcessThe rendering pipeline is one of the most useful upstream documents in this entire course.→
- Lesson 7Read Build Output Before Editing Random FilesA terminal error is not punishment.→
- Lesson 8YAML FailuresYAML appears in front matter, configuration, and data files.→
- Lesson 9Liquid FailuresLiquid failures live inside the rendering/template layer.→
- Lesson 10Path and URL FailuresPaths cross source, destination, and deployment layers.→
- Lesson 11Configuration FailuresConfiguration failures can have a huge blast radius because _config.yml influences the whole build.→
- Lesson 12Build a Failure TreeYou now have enough failure families to build a reusable diagnostic model.→
- Lesson 13Broken-Site Diagnostic LabYou will diagnose four bounded incidents.→
- Lesson 14Write a Reproducible Bug ReportDebugging yourself is one skill.→
- Lesson 15Unit Build: Configuration and Debugging Evidence Packis complete when you can diagnose the build as a pipeline instead of treating Jekyll as one black box.→
Unit 0712 entries
- overviewUnit 7: Themes, Plugins, and Extension BoundariesYou built the important Jekyll mechanisms yourself first.→
- Lesson 1What a Theme Actually ProvidesA theme is not a coat of paint floating above your site.→
- Lesson 2Gem-Based ThemesA gem-based Jekyll theme can hide source files from the project tree while still participating in the build.→
- Lesson 3Find the Theme Files You Cannot SeeIf a theme supplies your layout, you should be able to locate that source.→
- Lesson 4Override a Theme SafelyJekyll allows site source to override theme defaults for important source families.→
- Lesson 5What Plugins Add to the BuildA plugin extends Jekyll's build behavior without requiring you to modify Jekyll core.→
- Lesson 6Plugin Categories and Build HooksPlugins make more sense when you understand where they enter the build.→
- Lesson 7Dependency and Portability TradeoffsEvery dependency buys something.→
- Lesson 8GitHub Pages Plugin ConstraintsLocal Jekyll and hosted Jekyll are related environments, not automatically identical environments.→
- Lesson 9Theme vs Custom Layout DecisionYou already have a working custom template system.→
- Lesson 10Plugin Decision LabThis lab is a controlled extension experiment.→
- Lesson 11Unit Build: Extension Decision Recorddoes not end with "installed a theme and five plugins."→
Unit 0817 entries
- overviewUnit 8: Git, GitHub, and DeploymentYour Jekyll site is mature enough to become a real public software artifact.→
- Lesson 1Why the Source Repository MattersA deployed website is the output.→
- Lesson 2Initialize and Read Git HistoryVersion control becomes useful when you read it as evidence, not when you memorize commands.→
- Lesson 3Small Commits and Useful MessagesA commit is not a save button with a timestamp.→
- Lesson 4BranchesA branch lets a line of development move without immediately changing another branch's current tip.→
- Lesson 5Read a DiffA diff is one of the most useful technical reading tools in this course.→
- Lesson 6Review a Change Before Merging ItA branch can contain valid code that you still should not merge.→
- Lesson 7Read an Upstream Jekyll CommitOpen-source software is not a frozen textbook.→
- Lesson 8Local Build Is Not DeploymentYour browser showing localhost proves one thing:→
- Lesson 9Production BuildsA production build should be deliberate and reproducible.→
- Lesson 10GitHub Pages ArchitectureGitHub Pages can publish static sites and has built-in Jekyll support.→
- Lesson 11Repository and Pages ConfigurationPublishing requires repository settings that connect source history to Pages.→
- Lesson 12Publish the PortfolioThis is the point where your source becomes publicly reachable.→
- Lesson 13Production URLs and Base PathsProduction is where hidden URL assumptions become visible.→
- Lesson 14Local-Works / Production-Breaks LabThis lab is built around the most misleading deployment sentence in web development:→
- Lesson 15Deployment Evidence and RecoveryA production deployment can fail after a perfectly good local build.→
- Lesson 16Unit Build: Published Portfolioends with a public portfolio tied to inspectable source history and a reproducible deployment path.→
Unit 0914 entries
- overviewUnit 9: Production Portfolio and Architecture DefenseNo new Jekyll feature is the goal here.→
- Lesson 1Audit the Portfolio as a SystemYou are done adding major Jekyll features.→
- Lesson 2Content and Public-Identity ReviewA portfolio is deliberately public.→
- Lesson 3Accessibility Auditintroduced accessibility during the build.→
- Lesson 4Performance and Asset AuditStatic sites can be fast.→
- Lesson 5Link and Metadata AuditA portfolio with broken internal links feels unfinished even when every page individually looks good.→
- Lesson 6Source Hygiene and Generated-File ReviewA mature repository should make it obvious which files humans maintain and which files tools regenerate.→
- Lesson 7Trace One Page Through the Entire Jekyll PipelineThis is the technical core of the final defense.→
- Lesson 8Architecture DiagramYour final diagram should explain the system better than a screenshot can.→
- Lesson 9Stress-Test the BuildA final project should survive more than the one happy path you used while building it.→
- Lesson 10Stress-Test DeploymentNow test the path beyond your laptop.→
- Lesson 11Final Revision SetYou have probably accumulated a long list of possible improvements.→
- Lesson 12Prepare the Evidence DossierThe portfolio itself is one artifact.→
- Lesson 13Portfolio Architecture DefenseThis is the final checkpoint.→