Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

poc: Cloud Manager Github Pages Docs #10002

Closed

Conversation

bnussman-akamai
Copy link
Member

@bnussman-akamai bnussman-akamai commented Dec 14, 2023

Description πŸ“

Tip

The site is deployed at https://bnussman-akamai.github.io/manager/ for the sake of testing this

  • Uses Vitepress to build a docs site from our existing docs folder πŸ—‚οΈ
  • Proof of concept as an alternative to @abailly-akamai 's POC: [M3-7538] - Cloud Manager GH Pages DocsΒ #9960
  • Just wanted to give this a try and see how it felt. Not saying it's the right solution for our docs site, just wanted to feel out / let the team feel out the option

Pros of this approach βœ…

  • Integrated with our monorepo, meaning yarn && yarn docs is all you need to start a local dev server (easier to onboard)
  • Uses file-based routing so that we don't have to put explicit metadata at the top of each .md file πŸ“‚
  • Keeps us within the Typescript / Vite ecosystem
  • Although we care more about functionality than looks, this looks more modern and has dark mode πŸŒ‘

Cons of this approach ❌

  • Adds a significant amount of node_modules (could cause slower install times) (this explains the diff) 🐌
    • Installing these dependencies can't easily be skipped if we include this in our monorepo as far as I know
    • While we should consider this a con, it could be less of a problem when we migrate from yarn to pnpm or bun install
  • Might not be worth the added maintenance and overheard πŸ˜•

Preview πŸ“·

Screenshot 2023-12-14 at 6 30 00 PM

How to test πŸ§ͺ

Deployed

Locally

As an Author I have considered πŸ€”

  • πŸ‘€ Doing a self review
  • ❔ Our contribution guidelines
  • 🀏 Splitting feature into small PRs
  • βž• Adding a changeset
  • πŸ§ͺ Providing/Improving test coverage
  • πŸ” Removing all sensitive information from the code and PR description
  • 🚩 Using a feature flag to protect the release
  • πŸ‘£ Providing comprehensive reproduction steps
  • πŸ“‘ Providing or updating our documentation
  • πŸ•› Scheduling a pair reviewing session
  • πŸ“± Providing mobile support
  • β™Ώ Providing accessibility support

Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting together this POC to compare.

When comparing between the vitepress and jekyl versions of docs, this one definitely gives us a much friendlier UX out of the box, which is really nice!

As far as the cons:

Adds a significant amount of node_modules (could cause slower install times)

Slower by some amount of seconds for install, which we don't need to do very often, is not the biggest deal, imo.

maintenance

Making sure all these new packages stay up to date and any security issues are resolved feels like a bigger pain point here. That's a lot of vue stuff we wouldn't otherwise need.

While we should consider this a con, it could be less of a problem when we migrate from yarn to pnpm or bun install

With pnpm or bun, can we skip these dependencies? Or is there something else (speed?) that would make this a different experience with alternative package managers?

@abailly-akamai
Copy link
Contributor

@mjac0bs or @bnussman can we maybe use npx to bypass installing local deps? vitepress supports it

@bnussman-akamai
Copy link
Member Author

bnussman-akamai commented Jan 2, 2024

@abailly-akamai That's a good idea, but I think we'd have to drop the vitepress-sidebar dependency and manually populate the sidebar if we want to run vitepress directly? Thoughts?

@abailly-akamai
Copy link
Contributor

@bnussman I took a super quick npx stab at it and i am feeling pretty good about it so far. Basically just with a config file in the current /docs dir + the index.md file we get pretty much the same result.

As far as the sidebar, since we can populate it from the config file, we could write a simple script that aggregates the development-guide files and generates our links. Just want to make sure we wanna take that route before writing it.

@bnussman-akamai
Copy link
Member Author

That's great news @abailly-akamai I think I'm happy with that direction.

Maybe we could even copy-paste vitepress-sidebar as needed

@bnussman-akamai
Copy link
Member Author

Closing in favor of #10027. We will continue to use Vitepress, but we will just run it with npx/bunx to keep the monorepo lightweight

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants