Skip to content

Category pages on par with the main pages, duplicate cleanup, and the weekly list refresh - #120

Merged
RaviTejaKNTS merged 9 commits into
mainfrom
awesome-list-export
Nov 13, 2026
Merged

RaviTejaKNTS merged 9 commits into
mainfrom
awesome-list-export

Conversation

@RaviTejaKNTS

Copy link
Copy Markdown
Collaborator

What

Adds scripts/stack127/repos/export-awesome-list.mjs (npm run stack127:repo:awesome-list:export -- --out <dir>). It reads production data in a read-only transaction and writes the files for the public stack127labs/awesome-self-hosted-apps repository:

  • README.md with a category index that links each category to its stack127 page
  • categories/<slug>.md, one table per published category page
  • data/apps.csv and data/apps.json
  • LICENSE (CC BY 4.0)

Each source repository is listed once, so the list has 4,814 apps where the directory has 4,913.

Safety

  • Links must be public http(s) URLs with no credentials, IP, or local host; Markdown link targets are encoded so a value cannot add a table cell or change a destination.
  • The output folder must be empty or an earlier export; symlinked folders are refused.

Review and checks

  • Two reviewer passes; all findings fixed.
  • node --test tests/stack127/awesome-list-export.test.mjs: 6 pass.
  • Two runs on unchanged data produce identical files.

No site route, page, or runtime code changes.

🤖 Generated with Claude Code

RaviTejaKNTS and others added 4 commits November 13, 2026 13:31
Builds the README, per-category tables, and data files for the public
awesome-self-hosted-apps repository from production data.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Validate and encode links, match repositories by host and path, dedupe
after category filtering, clean only an earlier export, and read in a
read-only transaction.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Escape ampersands in Markdown link targets, refuse IP and local hosts,
keep ports in repository keys, and refuse symlinked output folders.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
RaviTejaKNTS and others added 5 commits November 13, 2026 13:48
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@RaviTejaKNTS RaviTejaKNTS changed the title Add the awesome self-hosted apps list export Category pages on par with the main pages, duplicate cleanup, and the weekly list refresh Nov 13, 2026
@RaviTejaKNTS
RaviTejaKNTS merged commit 070a5c7 into main Nov 13, 2026
4 checks passed

This branch was previously deployed

1 inactive deployment
production — f2f63ed3 Deployed Nov 13, 2026 by RaviTejaKNTS via verify-production-build #113
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