Skip to content

[FEATURE] docs: consider migrating to Zensical for v1 #1553

@Haleshot

Description

@Haleshot

What is the use case?

Following-up on the discord thread about whether CocoIndex should have a separate docs repo, I came across Zensical and sent it to @prrao87, and we started talking about how it could be a good fit for CocoIndex. It's a modern SSG built by the same team behind mkdocs.

My takeaways from the thread (primarily from Prashanth's takes) ... is that Docusaurus forces a 1D layout where all concepts get crammed into a single sidebar. Too much nesting and you end up with docs where everything is buried levels deep and impossible to find (duckdb example). Tools like Zensical use two-dimensional layouts where concepts spread across both a sidebar and tabs along the top. This aligns better with diataxis (https://diataxis.fr/) principles and makes documentation more discoverable.

There's been a shift towards SSGs that specialize in docs rather than trying to be general-purpose site builders. Mintlify is popular but not open source. Zensical is.

With v1 works underway, this could be a nice opportunity for a fresh look alongside the conceptual rework happening for the framework.

Describe the solution you'd like

Zensical is written primarily in Rust (about 85% of the codebase) with some Python, distributed as a Python package via PyPI.

Rebuild times during dev are fast thanks to the ZRX build engine. There's a new search engine (Disco) with improved ranking and filtering that runs entirely client-side. The design is modern and more easily brandable.

Additional context

The GitHub repo already shows 159 dependent projects and 2.6k stars, and the HN Thread had generally positive reception. I also believe we could reach out to the team to ask questions re: how a potential migration from docusaurus might look like (there exists a webpage for mkdocs).


❤️ Contributors, please refer to 📙Contributing Guide.
Unless the PR can be sent immediately (e.g. just a few lines of code), we recommend you to leave a comment on the issue like I'm working on it or Can I work on this issue? to avoid duplicating work. Our Discord server is always open and friendly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions