[feat] process content-blocklist during build, respect branches in workflows, patch blocklist.html #2

Merged
brad merged 41 commits from blocklist into main 2025-12-25 15:49:07 -08:00
Owner
No description provided.
brad added 41 commits 2025-12-25 15:48:42 -08:00
Implements a content blocklist that filters data files during the patch
build process. Blocked content is removed from JSON files before the
site is built, ensuring filtered content never reaches visitors.

Components:
- .patches/blocklist-config.json: Blocklist configuration (59 sources)
- .patches/apply-blocklist.js: Node.js filtering script (~270 lines)
- .patches/apply-blocklist.sh: Shell wrapper for blocklist application
- .patches/apply-patches.sh: Updated to integrate blocklist (new step 3)

The blocklist filtering:
- Runs after homebrew is enabled (step 2)
- Runs before template patching and build (steps 4-6)
- Filters 1,619 entities from 107 data files
- Supports wildcard matching (* for any hash/category/source)
- Modifies files in-place (git-reversible with 'git checkout data/')

Step numbers updated: previous step 3→4, 4→5, 5→6

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
When all entities from a blocklisted source are filtered out, the
resulting empty arrays violate the schema's minItems: 1 requirement.

Solution: Detect files that would have empty arrays after filtering
and skip writing them (keep original file intact).

Results:
- 25 files modified (with remaining content)
- 83 files skipped (would be empty)
- 1,619 entities removed total
- All schema validation tests pass

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
brad merged commit f66c9e29a1 into main 2025-12-25 15:49:07 -08:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dungeonchurch/5etools-2014-custom!2
No description provided.