Migrate docs site from VuePress v1 to VitePress#237
Conversation
Co-authored-by: itsxallwater <13155413+itsxallwater@users.noreply.github.com> Agent-Logs-Url: https://github.com/zumasys/docs/sessions/81a8b975-7234-41e1-8cbc-0c760dbedae5
|
@copilot seems light. Check out this task list from an agent working on zumasys/start, an almost identical repo from a stack and setup perspective. I'd expect you have more cleanup to do.
|
Co-authored-by: itsxallwater <13155413+itsxallwater@users.noreply.github.com> Agent-Logs-Url: https://github.com/zumasys/docs/sessions/c9651b4f-8edd-4adb-9f5c-3c68cf75934e
Done in commit a133e05. Here's what was added on top of the initial scaffolding: Theme & global components
Public assets
Docs updates
CI
Playwright screenshots (5 pages built & verified)
Note: A handful of legacy content files contain Rover ERP data-syntax patterns (e.g. Security summary: The Assistant iframe embed token was already present in the committed VuePress component ( |
|
@copilot clean up those parser issues and then give me an updated list of remaining to dos. Did you already finish removing inline table of contents from articles? Did you already rename all of the readme.md files to index.md? |
… refs Co-authored-by: itsxallwater <13155413+itsxallwater@users.noreply.github.com> Agent-Logs-Url: https://github.com/zumasys/docs/sessions/519b0509-2de2-411e-aa6c-ece61942ade8
Done in commit ed0599c. Here's the full picture: Parser issues — fixed ✅
README.md → index.md — done ✅
Inline TOC — nothing to do Remaining to-dos (not in this PR):
|
|
@copilot perform those clean up tasks please, and then send some new screenshots with your next update too! Include the landing page plus 5 random articles. |
…s public assets Co-authored-by: itsxallwater <13155413+itsxallwater@users.noreply.github.com> Agent-Logs-Url: https://github.com/zumasys/docs/sessions/3bd7fd76-b4ea-43c2-b2a6-967362bf38d0
Done in commit 7806cc0. Here's what was completed: PageHeader / PageFooter — all 2,363 articles now complete ✅
Dead links fixed ✅
Build: Landing page + 5 random articles:
Remaining to-dos (pre-existing content issues, not blocking the build):
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot remove the duplicates folder. Safe to add Pagefooter to those articles missing it. What remaining to dos after that? |
…m links, fix cheat-sheet paths Co-authored-by: itsxallwater <13155413+itsxallwater@users.noreply.github.com> Agent-Logs-Url: https://github.com/zumasys/docs/sessions/e89698e0-9686-4fb9-b07a-f26dd3806281
Done in commit 68033b5.
Other dead links also cleaned up in the same pass:
Remaining to-dos after this:
|










Replaces the VuePress v1 toolchain with VitePress across the
site/documentation root.vitepress buildpasses end-to-end with 0 errors (54s).validate-linksreports 0 issues.site/package.jsonvuepress*and associated plugin/loader dependenciesvitepress ^1.6.4as the sole new dev dependency"type": "module"(required for VitePress ESM)vitepress dev / build / previewscriptssite/.vitepress/config.ts(new)Full TypeScript config reproducing the existing site metadata, nav, and sidebar hierarchy from
.vuepress/config.js, with VitePress-idiomatic field names (text/link/collapsed/itemsinstead oftitle/path/collapsable/children). Key settings:site/.vitepress/theme/(new)VitePress theme that extends
DefaultThemeand registers three global Vue components used across ~2,363 markdown articles:index.ts— wires up the theme and component registrationsPageHeader.vue— lightweight stub (reading time was provided by a VuePress-only plugin API)PageFooter.vue— renders the Support Assistant widgetAssistant.vue— full Vue 3<script setup lang="ts">port of the chat widgetsite/public/(new)Public assets copied from
site/.vuepress/public/to the VitePress-expected location ({srcDir}/public/), covering favicon, logo, product images, icons, and the downloadable article template.Content file fixes
Vue's strict template compiler rejects HTML that VuePress accepted silently. Fixed across the content tree:
PALERT-E-1,PADEF-E-1: converted orphaned raw-HTML table sections to clean markdown; Rover ERP data-syntax strings like&#<VENDOR,1,>wrapped in backtickstips-and-tricks/REPORT.E,ALERT-SYSTEM: removed trailing<br>after</iframe>PROJ-OVERVIEW: removed trailing<br>in plain textsystem-requirements,cheat-sheet: replaced</PageHeader>/</PageFooter>closing-only tags with<PageHeader />/<PageFooter />images/subdirectory prefix from image paths![]()image references (images were never present in the repo — pre-existing)<PageHeader />(BL-pay API docs, workflow-management, cli-setup, GL-ACCOUNT-FLOW, vouchers-setup, etc.)<PageFooter />(BL-pay API docs, web release notes, GL-ACCOUNT-FLOW, etc.) — all 2,363 articles now have both componentsREADME.md→index.mdrenameREADME.mdfiles inrover/,pos-connect/, andsmartsuite/toindex.mdscripts/validate-links/index.js(and its README / AUTO-FIX-GUIDE) to scan forindex.mdvalidate-linksscript to skip/-prefixed absolute paths (public assets like/assets/img/rover-bi.png) that are served frompublic/— these were previously reported as false-positive dead linksDead link fixes
All dead links have been resolved —
validate-linksnow reports 0 issues:RECON.E→RECON-Epath inCASH-ERMAREC-P1cheat-sheet,WO-CONTROL-1,PICKER-E2-1,WOINV-R1,PRO-OVERVIEW) — all now point toPRO-ENTRY/PICKER-E/index.mdduplicates/directory — all repointed to canonical locations (AR-OVERVIEW/AR-ENTRY/CUST-E/,MRK-OVERVIEW/MRK-ENTRY/SHIP-CONTROL/,ENG-OVERVIEW/ENG-ENTRY/PARTS-E/, etc.)ENG-OVERVIEW/ENG-ENTRY/.htmdead links (PSO-CONTROL, SKILL-CONTROL, RMA-P1, PARTS-P3, GLINT-P2, EMP-E6/7, SL-E/2) — these procedures were never migrated to markdown; link wrappers removed with display text preservedREADME.md,CONTRIBUTING.md&site/public/assets/downloads/README.txtsite/.vuepress/public/assets/downloadspath →site/public/assets/downloadsREADME.md→index.md.github/workflows/azure-static-web-apps-calm-tree-0410ef410.ymloutput_locationupdated from.vuepress/dist→.vitepress/dist..gitignoreAdds
site/.vitepress/distandsite/.vitepress/cache(scoped to thesite/directory).Screenshots (landing page + 5 articles)
All pages show the correct VitePress default theme: sidebar navigation, "On this page" TOC, "Help us improve this page!" edit link, prev/next pagination, and working dark/light mode toggle.
Notes
[[toc]]or manually written TOC sections were found anywhere in the content — VitePress's built-in "On this page" sidebar handles this natively.Assistant.vuewas already present in the committed VuePress source (site/.vuepress/components/Assistant.vue); it is a public iframe embed token, not a credential. CodeQL: 0 alerts.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.