1.1.2 — How to Use This Course Page-by-Page (Deliverables per Page) 🧭
This course is designed like a production checklist: every page (lesson) ends with clear deliverables you can verify in your Bricks/WordPress build. The goal is that you never “kind of understand”—you either shipped the artifact (code + Bricks setup + notes), or you didn’t.
The Page-by-Page Workflow (Repeatable Every Time) ✅
1) Before You Start: Prepare the “Lesson Sandbox” (5–10 min)
- Pick one page to implement (e.g.,
1.1.2) and commit to finishing it end-to-end. - Choose a controlled location in Bricks:
- A dedicated Course Sandbox page (recommended), or
- A specific template/section you won’t reuse yet.
- Disable variables that hide problems (temporarily):
- Cache/minify plugins (or bypass via dev mode)
- CDN optimizations
- Aggressive script deferring (until your baseline works)
Deliverable: A dedicated Bricks page/template you can safely break and reset.
2) Implementation: Build What the Lesson Asks—Nothing More 🎯
Each lesson page will include:
- Goal (what you’re building)
- Why it matters (the mental model)
- Bricks implementation (exact placement + selectors)
- Code (copy/paste + explanation)
- Micro-exercises (small variations that prove understanding)
- Troubleshooting (common failure modes)
Rule: implement exactly the described effect first.
Polish (styling, extra features) comes after the effect is reliable.
Deliverable: The animation/behavior works exactly as described in the lesson.
3) Verification: Prove It Works (Not Just “Looks OK”) 🔍
For every page, you’ll verify four categories:
- Functional verification
- Does it run on first load?
- Does it run after refresh?
- Does it run on hard reload (cache bypass)?
- Selector verification
- Does it still work if there are two instances of the section?
- Does it break if the DOM structure changes slightly?
- Responsive verification
- Test at least: mobile, tablet, desktop breakpoints
- Confirm no overflow, clipping, or unexpected shifts
- Accessibility/motion sanity check
- If motion is significant: consider
prefers-reduced-motion - Ensure no focus traps or invisible-but-clickable overlays
- If motion is significant: consider
Deliverable: A short checklist (written by you) marking what you tested.
What “Deliverables per Page” Actually Means 📦
Each page produces artifacts you keep. Over time, these become your personal GSAP toolkit.
Core Deliverables (Every Page)
- Working demo inside Bricks
- A section/page where the effect is visible
- Uses robust selectors (usually classes/data attributes)
- Saved code snippet
- Stored in your project in a predictable place (see “Folder pattern” below)
- Includes a short header comment: what it does + how to apply
- One-liner notes
- What surprised you?
- What broke first?
- What you’d do differently next time
Optional Deliverables (When the page includes them)
- Reusable function (e.g.,
initHeroReveal(rootEl)) - Mini utility (e.g., a scoped selector helper)
- A variation (e.g., “same reveal but staggered”)
Standard Folder + Naming Pattern (So You Don’t Lose Anything) 🗂️
Even if you’re not using a bundler yet, use a consistent structure.
- Create a “course lab” area in your theme or child theme (or a snippets plugin):
gsap-lab/gsap-lab/pages/gsap-lab/utils/
- Name files by lesson number:
pages/01-01-02-workflow.js- Later:
pages/04-01-first-tween.js, etc.
- Add a short header comment at the top of each file:
- What it does
- Where it’s used (Bricks page/template)
- Dependencies (GSAP core, ScrollTrigger, etc.)
Deliverable: A place where your “lesson code” lives permanently, not in random Bricks textareas.
Bricks Placement Rules (So Scripts Don’t Turn Into Chaos) 🧱
You’ll repeatedly choose where code goes. Use these rules while learning:
- During learning (recommended):
- Put lesson JS in one predictable place (global or the sandbox page)
- Keep selectors scoped to the sandbox section to avoid side effects
- When you turn a lesson into a reusable component:
- Move code into a “component init” function
- Initialize per section instance (important for query loops/repeated sections)
Deliverable: You can explain why your code is placed where it is (not “because it worked once”).
The “Two-Instance Test” (Your Fastest Pro Filter) 🧪
A huge amount of WordPress/Bricks animation pain comes from accidental global targeting.
Do this after most lessons:
- Duplicate the animated section in Bricks (same page).
- Reload.
- Confirm:
- Both instances animate correctly
- One instance doesn’t hijack the other’s elements
- Timing doesn’t “double fire”
If it fails, you learn a key professional habit: scope your selectors.
Deliverable: A screenshot or note: “Two-instance test: pass/fail + fix”.
What You Should Send Me After Completing Any Page 📤
When you finish a lesson page, reply with:
- Where you put the code (Bricks global/page/element OR theme file)
- Your selectors (classes/data attributes you used)
- What worked immediately
- What broke
- One screenshot (optional but helpful) or a short description
Then I can:
- Suggest improvements (scoping, maintainability)
- Flag performance/accessibility risks early
- Provide a cleaner “component version” of your solution
Your Deliverables for This Page (1.1.2) ✅
- A written personal workflow checklist you will follow for each lesson page (copy the sections above and simplify to your taste).
- A sandbox page/template in Bricks dedicated to course experiments.
- A project structure decision:
- Where lesson JS will live for now
- How you will name and store lesson code snippets
- A quick two-instance test habit added to your checklist.
Quick Micro-Exercise (5 minutes) ✍️
Create a checklist you can paste at the top of each future lesson file:
- Goal:
- Where installed (Bricks/page/global/file):
- Selectors used:
- Tested:
- Refresh
- Hard reload
- Two-instance test
- Mobile/tablet/desktop
- Reduced motion (if relevant)
- Notes: