-
Notifications
You must be signed in to change notification settings - Fork 0
Establish Eleventy static-first scaffold with canonical parser, project map, and Lab scaffolding #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
erinepshovel-code
merged 1 commit into
main
from
codex/rebuild-interdependentway.org-as-dynamic-site
Jul 10, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| import markdownIt from 'markdown-it'; | ||
|
|
||
| export default function(eleventyConfig) { | ||
| const md = markdownIt({ html: false, linkify: true, typographer: true }); | ||
| eleventyConfig.setLibrary('md', md); | ||
| eleventyConfig.addPassthroughCopy({ 'src/assets': 'assets', CNAME: 'CNAME' }); | ||
| eleventyConfig.addFilter('json', v => JSON.stringify(v)); | ||
| eleventyConfig.addFilter('dateOnly', v => v ? String(v).slice(0,10) : 'hmmm'); | ||
| eleventyConfig.addFilter('where', (arr, key, val) => (arr || []).filter(item => item?.[key] === val)); | ||
| return { dir: { input: 'src', output: '_site', includes: '_includes', data: '_data' }, markdownTemplateEngine: 'njk', htmlTemplateEngine: 'njk' }; | ||
| } |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| name: Pages | ||
| on: | ||
| push: | ||
| branches: [main] | ||
| workflow_dispatch: | ||
| repository_dispatch: | ||
| types: [org-repo-updated] | ||
| schedule: | ||
| - cron: '24 5 * * *' | ||
| permissions: | ||
| contents: read | ||
| pages: write | ||
| id-token: write | ||
| concurrency: | ||
| group: pages | ||
| cancel-in-progress: false | ||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 | ||
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 | ||
| with: | ||
| node-version-file: .nvmrc | ||
| cache: npm | ||
| - run: npm ci | ||
| - run: npm run check | ||
| - uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b | ||
| - uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b | ||
| with: | ||
| path: _site | ||
| deploy: | ||
| needs: build | ||
| environment: | ||
| name: github-pages | ||
| url: ${{ steps.deployment.outputs.page_url }} | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - id: deployment | ||
| uses: actions/deploy-pages@d74e976d0eb5d900a0cef4b369a9d84a9b222a53 | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| name: Pull Request | ||
| on: [pull_request] | ||
| permissions: | ||
| contents: read | ||
| jobs: | ||
| check: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 | ||
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 | ||
| with: | ||
| node-version-file: .nvmrc | ||
| cache: npm | ||
| - run: npm ci | ||
| - run: npm run check |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 24 |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # Architecture | ||
|
|
||
| Static pages are generated by Eleventy. Build-time scripts produce `src/_data/generated/canon.json` from the local canonical snapshot and `src/_data/generated/repos.json` from the GitHub organization API or last-known-good fixture. | ||
|
|
||
| The browser receives HTML, CSS, and optional Pagefind search enhancement. No visitor-side GitHub polling is used. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # Content model | ||
|
|
||
| - Canon units: parsed headings with stable IDs, line ranges, and SHA-256 hashes. | ||
| - Project records: public GitHub facts plus visible `hmmm` when editorial metadata is missing. | ||
| - Lab records: generated per canon unit, with reviewed research gaps explicitly shown. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # Recovery | ||
|
|
||
| Recovery references supplied in the handoff: | ||
|
|
||
| - `recovery/pre-rollback-eleventy-2026-05-23` at `00dd117a6aa95eddb9741fd3ee592c6d15833bd3` for Eleventy/Pagefind information architecture. | ||
| - `recovery/full-article-lab-2026-05-21` at `9677700904797bdd8f7946b4c898266e3655b951` for eight-article Lab coverage. | ||
|
|
||
| This branch does not merge either branch wholesale. It rebuilds a minimal Eleventy 3 static-first scaffold and records unresolved recovery work as `hmmm`. | ||
|
|
||
| Rollback must deploy a known-good artifact or tag rather than rewriting `main` history. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # Research method | ||
|
|
||
| Sources and claims are stored in `src/_data/research`. Stance classification is editorial review, not automated metadata inference. Missing support or dissent must render as a documented `hmmm` gap. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Runbook | ||
|
|
||
| - Local build: `npm install && npm run build`. | ||
| - GitHub API failure: set `OFFLINE=1` to use `src/_data/snapshots/repos.last-known-good.json`. | ||
| - Canon parser failure: do not deploy mismatched commentary; inspect `src/_data/generated/canon.json`. | ||
| - Domain: preserve `CNAME` containing `interdependentway.org`. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # Usage | ||
|
|
||
| Run `npm install`, `npm run dev` for preview, `npm run refresh:data` to refresh generated data, and `npm run check` before a PR. Add project metadata in each repository as `.interdependency/project.yml`; missing metadata remains visible as `hmmm` on project pages. |
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On pushes to
main, this workflow runs alongside the pre-existing.github/workflows/deploy.yml, which also triggers onpushtomainbut uploadspath: './'and deploys it without running the Eleventy build. If the newnpm ci/npm run checkpath fails, or if the older workflow finishes after this one, GitHub Pages can publish the repository root/old site instead of the generated_site, bypassing the validation added here. Remove or retarget the old deploy workflow, or put both workflows under one deployment path/concurrency group.Useful? React with 👍 / 👎.