Replace hand-rolled REST paging, GraphQL cursor loops and header plumbing with
octokit, which also brings request retry and rate-limit backoff. Introduces the
repo's first package.json, lockfile and ESLint flat config; the Hugo site build
itself still needs no Node step.
Output verified against the previous implementation: identical counts and rows
apart from live star drift on four upstream repos.
Resolve owned namespaces from org memberships with the admin role instead of
assuming a fixed owner list, so repos under orgs I own are included.
- starred: owned public non-fork repos with at least one star, by stars then
most recent push
- linked: owned public non-fork repos exposing a homepage or Pages URL, by most
recent push
- contributed: public repos owned by others, by my merged PR count then most
recent push
Private repos are excluded everywhere; forks are excluded from the owned lists
because their homepage belongs to upstream. Split the generator into API access
and rendering modules.
- rename content/page/pages → content/page/projects, keep /pages alias
- list owned + contributed repos (GraphQL repositoriesContributedTo)
- filter by URL (homepage or has_pages), not just GitHub Pages enabled
- rename script/workflow to update-projects-list.mjs / update-projects.yml
Fetch repos server-side via GitHub API using PAGES_FETCH_TOKEN and
inject the pages list into content/page/pages/index.md between HTML
markers. Runs daily at 00:00 Asia/Saigon and on manual dispatch.
Update all actions/checkout, setup-go, setup-node, cache, upload-artifact,
and download-artifact to latest major versions. Add plan.md with roadmap
for skill fixes and two new skills (mt:commit-push, mt:backfill-tags).
Replaced Jinja-style comments with YAML comments for GitHub Pages deployment-related permissions and steps in the hugo.yml workflow. This clarifies that these steps are currently disabled and improves readability.
The GitHub Pages deployment steps and related permissions in the hugo.yml workflow have been commented out, likely to disable deployment to GitHub Pages while retaining the configuration for future use. Deployment to CloudFlare Pages remains active.
Eliminates the job responsible for deploying to GitHub Pages in the workflow, leaving only the CloudFlare Pages deployment. This streamlines deployment targets and reduces redundancy.
Introduces a cron schedule to the GitHub Actions workflow for Hugo, triggering a build and deploy every day at midnight in addition to builds on push to main.
Refactored Hugo workflow to simplify version handling. Improved .gitignore for better coverage. Removed unused social icons and verification file. Updated site configs for base URL, markup, menu (added GitLab, removed YouTube/X), and comment system. Enhanced about page with current work info and clarified blog purpose.