Complete teaching and writing portfolio content - #20
Merged
Conversation
zcohen-nerd
commented
Jul 23, 2026
Owner
- Teaching index: "Teaching & Curriculum Projects" section with distinct, accurate cards (18-week ages-8-12 literacy curriculum vs proposed ENT260 redesign) and measured image dimensions
- Empty "Impact & Metrics" replaced with Teaching Scope & Outcomes: AACC adjunct instruction, historically-qualified ~75% CSWA outcome in prior ENT260 offerings, 18-week literacy scope, SENTRY USNA deployment; duplicated adjunct bullet consolidated
- Selected Essays populated from the public Substack RSS feed: all 4 published essays, newest first, official-subtitle summaries, canonical links; cadence stays occasional; stale frontmatter description corrected; static snapshot (no build-time fetching)
- Writing & Research index now describes only the two real collections; unsupported templates/governance-models and measurable-impact claims removed
- 16 new content-regression assertions in validate-build.js
- Teaching index: "Teaching & Curriculum Projects" section with distinct, accurate cards (18-week ages-8-12 literacy curriculum vs proposed ENT260 redesign) and measured image dimensions - Empty "Impact & Metrics" replaced with Teaching Scope & Outcomes: AACC adjunct instruction, historically-qualified ~75% CSWA outcome in prior ENT260 offerings, 18-week literacy scope, SENTRY USNA deployment; duplicated adjunct bullet consolidated - Selected Essays populated from the public Substack RSS feed: all 4 published essays, newest first, official-subtitle summaries, canonical links; cadence stays occasional; stale frontmatter description corrected; static snapshot (no build-time fetching) - Writing & Research index now describes only the two real collections; unsupported templates/governance-models and measurable-impact claims removed - 16 new content-regression assertions in validate-build.js Co-Authored-By: Claude Fable 5 <[email protected]>
Contributor
There was a problem hiding this comment.
Pull request overview
Completes Step 4 content updates for the Docusaurus portfolio by making the Teaching and Writing & Research sections accurate and fully populated, and by adding automated post-build regression checks to keep the content from drifting.
Changes:
- Updated Teaching index content and structure (renamed section, distinct project cards, and replaced “Impact & Metrics” with “Teaching Scope & Outcomes”).
- Populated Selected Essays with a static snapshot of four Substack essays (newest first) and corrected page metadata/cadence wording.
- Added Step 4-specific assertions in
scripts/validate-build.jsto prevent content regressions across teaching and documentation pages.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| STEP_4_PORTFOLIO_CONTENT_REPORT.md | Adds a Step 4 report documenting scope, audits, and validation outcomes for the content completion work. |
| src/pages/teaching/index.md | Renames the teaching section, updates card copy to match real projects, adds explicit image dimensions, and replaces the empty metrics section with verified scope/outcomes. |
| src/pages/documentation/selected-essays.md | Updates frontmatter description/cadence language and adds four static “Published Essays” entries with dates, summaries, and canonical Substack links. |
| src/pages/documentation/index.md | Rewrites index copy to describe only the two real collections (Selected Essays + Scholarship & Speaking) and removes unsupported claims. |
| scripts/validate-build.js | Adds Step 4 regression guards for Teaching, Selected Essays, and Writing & Research index content. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+197
to
+199
| const essayLinks = [...essaysHtml.matchAll(/href="(https:\/\/zcohennerd\.substack\.com\/p\/[^"]+)"/g)].map((m) => m[1]); | ||
| check('Selected Essays lists at least one essay', essayLinks.length >= 1, `found ${essayLinks.length}`); | ||
| check('essay entries carry publication dates', (essaysVisible.match(/Published:/g) || []).length >= essayLinks.length ? true : (essaysVisible.match(/Published:/g) || []).length >= 1); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.