A set of recommendations for future maintenance of glandjs/docs
#95
Replies: 2 comments 12 replies
-
I think I wrote A LOT... Here is an AI-generated TL;DR of what I'm trying to say: TL;DRGland.js needs a maintainable and efficient documentation system to support its early development. While Astro is a great choice, the primary challenge lies in UI implementation rather than the framework itself. Key Criteria for a Suitable Solution:
Recommended Solutions:✅ Option 1: Starlight with Tailwind CSS (Highly Recommended) – Provides a structured, flexible, and easy-to-maintain documentation setup with minimal UI overhead. Conclusion: Adopting Starlight with Tailwind CSS is the best approach for simplifying documentation maintenance, improving efficiency, and encouraging contributions. Looking forward to the team’s feedback. |
Beta Was this translation helpful? Give feedback.
-
Thanks for your review and suggestions. If you have a better option, I'd be happy to discuss it to find the best solution for Gland.js documentation. Otherwise, we can refactor this theme, optimize it with Tailwind CSS, and improve its structure. What do you think? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
As I mentioned in my recent contribution to
glandjs/docs
, I would like to present a set of recommendations that could assist the Gland.js core team in streamlining the development and maintenance of the documentation website. The objective is to establish a more efficient and sustainable approach to documentation management, ensuring that updates can be implemented smoothly with minimal overhead.Over the past few days, I have conducted an extensive evaluation of various technical solutions that could support this objective. After careful consideration, I have identified a set of options that I believe would be most beneficial.
The Importance of an Effective Documentation System
Given that Gland.js is still in its early stages, it is understandable that the documentation website may not be the highest priority. However, documentation is an essential component of any framework’s adoption and long-term sustainability. A well-structured and easily maintainable documentation system plays a crucial role in facilitating user onboarding, supporting contributors, and ensuring the clarity of framework updates.
Astro has been an appropriate choice for this project due to its ability to facilitate rapid development with minimal complexity. However, the primary challenge does not lie in Astro itself but rather in the user interface (UI) design and implementation.
Developing a robust UI for documentation purposes presents several challenges, particularly given the importance of elements such as structured navigation, responsive layouts, syntax highlighting, and search functionality. These are essential components for ensuring an optimal user experience. At the same time, the technical approach must prioritize maintainability and efficiency, considering that most of the core team—particularly @m-mdy-m—is currently focused on addressing bugs and implementing new framework features.
Criteria for Selecting a Suitable Approach
To identify the most effective solution, I have considered the following criteria:
Recommended Solutions
Option 1: Starlight with Tailwind CSS (Strongly Recommended)
Repository: Starlight Tailwind Template
Astro provides several starter templates, but one of the most effective options—Starlight with Tailwind CSS—is not included by default. This template differs from the standard Starlight setup by incorporating Tailwind CSS, which offers several advantages:
By leveraging Astro’s robust Markdown support alongside Tailwind CSS, this solution enables contributors to focus on writing and structuring content rather than dealing with UI complexities. If adjustments to the design are necessary, Tailwind provides an efficient means of implementation without introducing additional dependencies or complexity.
Option 2: Standard Starlight Template with Raw Astro Components (Viable but Less Efficient)
The standard Starlight template provides many of the benefits outlined above but does not include Tailwind CSS. This means that all styling would need to be written using standard CSS, which can introduce the following challenges:
While this approach is still viable, it is not as efficient as the Tailwind-based option. It may be more suitable if there is a preference for minimal external dependencies, but it does not provide the same ease of contribution.
Option 3: Custom UI with Astro, React, Tailwind, and shadcn/ui (Not Recommended)
This approach involves integrating Astro with React and using shadcn/ui for UI components, combined with Tailwind CSS. Although this might seem like a viable way to leverage React’s ecosystem, there are several significant drawbacks:
While this setup could be beneficial for more dynamic applications, it is not a practical choice for a documentation site, where simplicity and maintainability should be prioritized.
Conclusion and Next Steps
Based on the evaluation of these options, I strongly recommend Option 1: Using the Starlight Tailwind template as the most suitable approach for the Gland.js documentation website. This option provides:
I believe that adopting this solution will significantly improve the maintainability and usability of the documentation system. I welcome any feedback or additional considerations that the core team may have regarding this approach.
Would this be a viable direction for Gland.js moving forward? I look forward to discussing potential next steps.
Beta Was this translation helpful? Give feedback.
All reactions