|
1 | | -CURRENT SCOPE |
2 | | -- [ ] ADD INTERCOM |
3 | | -- [ ] ADD TRACKING |
4 | | -- [ ] REVIEW RELEASE PROCESSES |
5 | | -- [ ] REVIEW HIERARCHY |
6 | | -- [ ] REVIEW ORDER OF THINGS IN SIDEBAR |
7 | | -- [ ] REVIEW THEME - FELIPE |
8 | | -- [ ] REVIEW URLS TO MAKE SURE THEY MATCH PRODUCTION |
9 | | -- [ ] FIX ALL INNER URLS |
10 | | -- [ ] ADD TO README CHANGES FROM PREVIOUS DOCS AND BEST PRACTICES |
11 | | -- [ ] REVIEW MARKDOWN |
12 | | - |
13 | | -- [x] AUTO LAST UPDATED |
14 | | -- [x] REVIEW TABS |
15 | | - |
16 | | -TBD |
17 | | -- [ ] ADD VERSIONS (see `src/content/docs/maintainers/docs-versioning.md`) |
| 1 | +MkDocs ➜ Docusaurus migration checklist |
| 2 | + |
| 3 | +Goal: ship `docusaurus/` as the new production site for https://docs.codacy.com/ |
| 4 | + |
| 5 | +- [ ] **Release process** → see sections 4 and 9 |
| 6 | +- [ ] **Information architecture + sidebar order** → see section 2 |
| 7 | +- [ ] **Theme/branding** → see sections 2 and 7 (owner: Felipe) |
| 8 | +- [ ] **Production URL parity + internal links** → see sections 1, 3, and 8 |
| 9 | +- [ ] **Markdown/MDX consistency** → see section 1 |
| 10 | +- [ ] **Contributor guidance (README/best practices)** → see section 10 |
| 11 | + |
| 12 | +## 1) Content parity (docs rendering) |
| 13 | +- [ ] Confirm all pages exist in `docusaurus/docs` (count + spot-check key sections) |
| 14 | +- [ ] Confirm MkDocs-only templating is fully removed from Docusaurus content: |
| 15 | + - [ ] No Jinja tags (`{% ... %}` / `{{ ... }}`) remain in `docusaurus/docs` |
| 16 | + - [ ] Replace MkDocs `extra.*` variables with Docusaurus equivalents (MDX constants / front matter / config) |
| 17 | +- [ ] Confirm MkDocs `include-markdown` usage is fully replaced with `_includes/*.mdx` imports/usages |
| 18 | +- [ ] Confirm admonitions render as expected (MkDocs `!!! note|tip|warning` ➜ Docusaurus admonitions / MDX syntax) |
| 19 | +- [ ] Confirm heading IDs/anchors are stable (MkDocs `toc` permalink + custom `{:#id}` usage) |
| 20 | + |
| 21 | +## 2) Navigation & information architecture |
| 22 | +- [ ] Review `docusaurus/sidebars.ts` vs MkDocs `nav:` in `mkdocs.yml` for: |
| 23 | + - [ ] Missing/extra categories |
| 24 | + - [ ] Ordering (including release notes yearly grouping) |
| 25 | + - [ ] Any pages that should be hidden from sidebar but still routable |
| 26 | +- [ ] Replace placeholder site metadata in `docusaurus/docusaurus.config.ts` (title/tagline/footer links/GitHub links) |
| 27 | +- [ ] Decide canonical doc routes (Docusaurus uses `/` as `routeBasePath`): ensure this matches production expectations |
| 28 | + |
| 29 | +## 3) Redirects (must-have before cutover) |
| 30 | +- [ ] Port MkDocs `redirect_maps` from `mkdocs.yml` to Docusaurus redirects |
| 31 | + - Recommended: add `@docusaurus/plugin-client-redirects` and generate redirects from `mkdocs.yml` |
| 32 | + - Include legacy Zendesk (`hc/...`) redirects and internal moved-page redirects |
| 33 | +- [ ] Validate redirects with a link/redirect checker against the built site |
| 34 | + |
| 35 | +## 4) Versioning strategy (replaces `mike` + `MKDOCS_SELF_HOSTED`) |
| 36 | +MkDocs currently publishes: |
| 37 | +- Latest docs on `master` to `gh-pages/` |
| 38 | +- Self-hosted versions from `release/v*` using `mike deploy ...` (and `MKDOCS_SELF_HOSTED=true`) |
| 39 | + |
| 40 | +- [ ] Decide Docusaurus versioning model: |
| 41 | + - [ ] Use Docusaurus docs versions for Self-hosted (`release/v*` ➜ versioned docs) |
| 42 | + - [ ] Decide URL shape for versions (must preserve/redirect existing production URLs) |
| 43 | +- [ ] Implement the model in CI (build + deploy) and document how to cut a new Self-hosted version |
| 44 | + |
| 45 | +## 5) Release notes specifics |
| 46 | +- [ ] RSS feed parity (MkDocs uses `mkdocs-rss-plugin` for `release-notes/*`) |
| 47 | + - [ ] Decide feed generation approach (Docusaurus plugin/custom script during build) |
| 48 | + - [ ] Ensure `/feed_rss_created.xml` exists (many pages link to it) |
| 49 | +- [ ] Confirm release notes sidebar + navigation matches expectations (tabs already added) |
| 50 | + |
| 51 | +## 6) “Last updated” (replaces `git-revision-date-localized`) |
| 52 | +- [ ] Enable/verify “Last updated” on doc pages (date + author if desired) |
| 53 | +- [ ] Ensure CI checkout uses full git history (`fetch-depth: 0`) so last update data is correct |
| 54 | + |
| 55 | +## 7) Tracking, scripts, and UX widgets |
| 56 | +MkDocs uses `extra.segment_key`, `extra.user_feedback`, and custom JS/CSS. |
| 57 | +- [ ] Add tracking (Segment or chosen tool) to Docusaurus |
| 58 | +- [ ] Add Intercom |
| 59 | +- [ ] Re-implement “user feedback” if it was a widget on MkDocs |
| 60 | +- [ ] Re-implement any “version selector” behavior (MkDocs `assets/javascripts/version-select.js` + CSS) |
| 61 | + |
| 62 | +## 8) SEO & meta descriptions (replaces `mkdocs-meta-descriptions`) |
| 63 | +- [ ] Decide how to generate meta descriptions (front matter `description` / plugin / build-time extraction) |
| 64 | +- [ ] Preserve sitemap + robots behavior (MkDocs workflow wrote `robots.txt` with sitemap link) |
| 65 | +- [ ] Validate canonical URLs and avoid indexing preview builds (MkDocs used preview banner + env toggles) |
| 66 | + |
| 67 | +## 9) CI/CD parity (replaces `.github/workflows/mkdocs.yml`) |
| 68 | +- [ ] Add a Docusaurus workflow that covers: |
| 69 | + - [ ] Build |
| 70 | + - [ ] HTML/link validation equivalent to `htmltest` + `lychee` expectations |
| 71 | + - [ ] Branch previews (Netlify or equivalent) |
| 72 | + - [ ] Deploy latest to `gh-pages` with `CNAME=docs.codacy.com` |
| 73 | + - [ ] Deploy versioned Self-hosted docs from `release/v*` |
| 74 | + |
| 75 | +## 10) Cleanup & documentation for contributors |
| 76 | +- [ ] Update root `README.md` and `CONTRIBUTING.md` for Docusaurus (build/preview instructions) |
| 77 | +- [ ] Decide what to do with MkDocs artifacts once cutover is complete: |
| 78 | + - [ ] `mkdocs.yml`, `requirements.txt`, MkDocs workflows |
| 79 | + - [ ] MkDocs theme submodule `submodules/codacy-mkdocs-material` |
| 80 | + |
| 81 | +## Done |
| 82 | +- [x] Release notes tabs in navbar/sidebars |
| 83 | +- [x] Auto last updated |
0 commit comments