尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Personal site for Jeremy Walton — a short bio, what he's working on, and a
reading list. One scrolling page, no routing, no CMS. Live at
www.launchtabs.com.
React 19 + TypeScript on Vite, with the React Compiler enabled (so useMemo
and useCallback are not written by hand). Styling is plain CSS — CSS Modules
per component, no utility framework. @ resolves to src/.
Adding a project or a reading item means editing src/data/*.json and pushing.
GitHub Actions builds and publishes dist/ to GitHub Pages on every push to
master. public/CNAME holds the custom domain and must not be removed.檢視完整 README ↗Personal site for Jeremy Walton — a short bio, what he's working on, and a reading list. One scrolling page, no routing, no CMS. Live at www.launchtabs.com.
npm install
npm run dev # dev server on :5173
npm run build # tsc -b && vite build -> dist/
npm run lint # oxlint
npm run preview # serve the built dist/
React 19 + TypeScript on Vite, with the React Compiler enabled (so useMemo
and useCallback are not written by hand). Styling is plain CSS — CSS Modules
per component, no utility framework. @ resolves to src/.
index.html blocking script that applies a stored theme before paint
src/
main.tsx root render + ThemeProvider
App.tsx the whole page: hero band, work band, footer
theme.css design tokens on :root, as light-dark() pairs
index.css imports + base rules
reset.css reset
components/ one folder per component: index.tsx + *.module.css
icons/ animated icons vendored from phosphor-animated.com
ui/button/ the only Base UI primitive in use
data/ projects.json, reading.json, and their types
lib/ theme context, shared hooks
Adding a project or a reading item means editing src/data/*.json and pushing.
GitHub Actions builds and publishes dist/ to GitHub Pages on every push to
master. public/CNAME holds the custom domain and must not be removed.