Skip to content

Are.na education resources page (step 1: structured by-line/tag parsing) - #1552

Open
NisargJasani0602 wants to merge 3 commits into
processing:mainfrom
NisargJasani0602:arena-resources-structured-tags
Open

Are.na education resources page (step 1: structured by-line/tag parsing)#1552
NisargJasani0602 wants to merge 3 commits into
processing:mainfrom
NisargJasani0602:arena-resources-structured-tags

Conversation

@NisargJasani0602

Copy link
Copy Markdown
Contributor

Addresses #1547

Step 1 toward pulling Education Resources from Are.na. Since the site is static, a build script (npm run build:arena-resources) pulls the channel via Are.na's API into a new content collection, rendered on a standalone page for now (/education-resources-arena-prototype).

Implements the by-line/hashtag format from the issue thread — a block only shows up if its description has a By: Name line and a required version tag (#p5jsv1/#p5jsv2), anything missing either is skipped.

Also added real schema validation on the Are.na API response (previously just trusted the shape), which already caught a real bug — source.title can legitimately be null.

Note: no blocks in the channel use this format yet, so the page currently shows 0 resources — expected until the content itself gets updated, discussed in the issue thread.

Filter UI and search-index integration to follow as separate PRs.

Build-time script pulls the education-resources Are.na channel into a
new content collection, rendered on a standalone prototype page, for
processing#1547. Generated yaml is gitignored - regenerate with
`npm run build:arena-resources`.
Curators opt a block into the Education Resources page by writing its
Are.na description as "By: Author", a short description, and hashtags
(e.g. #p5jsv2 #English) - proposed on processing#1547. Blocks missing a by-line
or required version tag are skipped entirely, which is the review
boundary rather than a separate moderation step.

Also replaces the hand-written Are.na API types with a real zod
schema, validated per-block so one malformed block warns and gets
skipped instead of crashing the whole fetch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant