-
Notifications
You must be signed in to change notification settings - Fork 5
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
Architecture redesign #55
Comments
Good list! We're using Starlight by Astro which has some interesting features we could take more advantage of. Some comments:
|
I was actually thinking about this over the weekend and you touched on it a bit. I think we should type check with TypeScript only as a lint (and the same for compiling/linting with any other language). This would allow us to still build and preview the docs before the SDKs are released. |
I've explored a layout considering the points discussed, you can see all the mocks here. As for the content duplication, I need to investigate the implementation a bit to see what's possible and how to tackle it. Starting on this now. |
I've setup a docs branch that uses the Starlight Versions plugin. To make it work I had to move all non-mdx files outside the Even with these changes the plugin is not a complete solution as it ignores everything else, eg: the content in the newly created I couldn't test the search locally. Also couldn't find an easy way to customize the placement of the version banners and switcher that appear when the plugin is installed. Custom versioning We could implement our own versioning script. This would create a version folder in Even with this in place we'd still need to handle the versioned sidebar, pagination, search, ... . Some useful content:
Edit 1: Official workaround for multiple sidebars using component overrides. |
Alternative https://mintlify.com/ |
In our discussion yesterday we came to the conclusion that the versioning plugin wasn't a good enough solution because it didn't add much and was difficult to customize. We also discussed the idea of branching, but I think that would be too difficult to manage in GitHub and figuring out the deploys - see also the problems mentioned at withastro/starlight#957 (comment) Mintlify has versioning, but I'm reluctant to use a commercial product for a core part of the Arcjet product experience (looks like it could get expensive as well). We're limited by Starlight's sidebar. We'd could develop our own dynamic sidebar based on the selected version using component overrides. This could be based on placing content in subdirectories, but we could also use frontmatter in the MDX to query the relevant pages. |
Apologies for the lengthy comment, I did my test of Mintlify:
Then specifically on features:
There's surely more to test but I don't feel that the product is advanced enough for our use case or without relying on their support extensively. Plus it's expensive. I explored the code from the Starlight Versions plugin, the main pain points in functionality remain the ability to version snippets and the difficulty in visual customization. We could get around the former by manually versioning our snippets (and using paths accordingly), and I could design around the latter to make it work. So perhaps not an option to ditch necessarily. Branch versioning @davidmytton curious to know what you think of this approach.
I don't necessarily agree with these points:
|
From another issue we have:
|
Find the exploration for displaying the page content dynamically #82. |
I think it might be worth exploring the Content Layer API, which is currently an experimental API but would give us the flexibility to build the collections we need. |
As I was working on the bots docs revamp, I thought about some wants for the new architecture. We can all contribute on this issue.
The text was updated successfully, but these errors were encountered: