Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.github

Organization-level defaults for getapps.cafe.

Path What it is
profile/README.md The public org profile at github.com/getappscafe
profile/build_menu.py Regenerates the poster and app grid from the live site
scripts/repo_metadata.py Fills in missing repo description / website / topics across the org
.github/workflows/repo-metadata.yml Runs that script daily at 18:00 ICT
profile/icons/ One 128×128 icon per app, pulled from getapps.cafe
profile/poster.png Isometric hero poster — real app UI as sheared 3D panels
profile/poster-dark.png Same poster in the site's dark theme; README picks via <picture>
profile/avatar.svg Org avatar, source — traced from the getapps.cafe app icon
profile/avatar.png Org avatar, 512×512 — upload at Settings → Profile picture

Poster colours come from getapps.cafe/styles.css (:root and :root[data-theme="dark"]) — see THEMES in the build script. Keep them in sync with the site rather than inventing values.

The poster showcases the apps listed in SHOWCASE. Only some apps publish UI screenshots, so that list can only be drawn from those — the script fails loudly if a chosen app has none.

FREE_EXTRA lists apps we serve free that the site still files as paid. They get added to On the House and marked 🆓 while staying in their own category — the same "derived row" convention the site uses. Remove an entry once the site itself moves the app, or the override becomes a silent no-op.

Updating the menu

When apps are added, renamed, or ship out of "coming soon", rerun:

pip install pillow && brew install librsvg
python3 profile/build_menu.py

It refreshes icons/, re-renders poster.png, and rewrites only the block between the MENU-START / MENU-END markers — the release bot's WEEKLY-REPORT section and everything else stay untouched. Prices, plan details, and copy are not generated — edit those by hand.

The poster needs the Avenir Next system font (macOS); elsewhere it falls back to PIL's default face and the headline will look off.

Regenerate the avatar PNG after editing the SVG:

rsvg-convert -w 512 -h 512 profile/avatar.svg -o profile/avatar.png

Repo metadata

Every repo should carry a description, a website, and topics. repo_metadata.py fills in whatever is missing, taking the wording from the live menu so a repo says the same thing the storefront does. It also repoints getapps.cafe/app/<slug> links when the menu drops a slug, and only ever writes to fields that are empty.

python3 scripts/repo_metadata.py            # dry run, prints the plan
python3 scripts/repo_metadata.py --apply

It runs itself daily at 18:00 ICT (0 11 * * * — GitHub cron is UTC and Vietnam has no DST). Scheduled workflows only fire from the default branch.

One-time setup: the job needs an Actions secret ORG_REPO_TOKEN — a PAT with Administration: write on the org's repositories. GITHUB_TOKEN cannot edit other repos, so without the secret the job fails loudly rather than silently doing nothing.

Repos with no matching app are listed in the run summary rather than guessed at. To cover one, add it to KNOWN (non-app repos) or ALIAS (repo name differs from the menu slug). Per-app topics are curated in TOPICS; apps missing there still get platform, framework, and category tags.

About

Organization-level defaults and public profile for getapps.cafe.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages