Nothing in the repository needs Go any more. Kept as its own commit so a bisect
can attribute a Hugo build break to this change rather than to the engine
deletion.
Node setup and the conditional npm ci stay: the lockfile exists, so the
dependencies the engine now needs are installed if a workflow ever invokes it.
The root package.json already declares "type": "module", so a .js file here is
ESM and the .mjs suffix only restates what the manifest states. Renames the three
GitHub Actions scripts and follows every reference, including the six JSDoc
import("...") type annotations that would otherwise degrade to any without
throwing.
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.
- 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.