Skip to content

Conversation

@steveklabnik
Copy link
Contributor

This change adds a new docs deployment to /starlight/, and that's rendering the documentation via Starlight: https://starlight.astro.build/

mkdocs is no longer being maintained, and we'd like to move away from it for that reason. We've chosen starlight for two main reasons: first, it has a goal of minimizing JavaScript on the front end, and that aligns with our priorities. Second, it is based on Astro.js, which would also be a good tool for writing a basic marketing site. The overall sentiment from community in the Discord was leaning towards Astro when we were talking about this.

After a few days of checking out the new docs and making sure that things are good, we can move to making this the default.

Part of #7959.


This PR is not actually ready to merge as-is. The reason is this: I wanted to demonstrate the actual diff of this PR, and so I modified the files in docs. However, that means they aren't going to properly render with mkdocs. However, this is actually easy to fix: there's this line in the config:

const docsDir = fileURLToPath(new URL('../../docs', import.meta.url));

This let us use the existing docs dir. I can easily instead copy the files to web/docs/src/docs, and modify them there, and then we'll have both copies while we try it out. I'm not sold on if we should keep the configuration to use docs at the top level permanently or move the files into the actual site in the long run, but before this gets merged, we should do the duplication just to try it out. If anything modifies those files before we make this permanent, I'll make sure to reconcile things.

@steveklabnik steveklabnik requested a review from a team as a code owner December 5, 2025 20:40
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

The following commits do not follow our format for subject lines:

  • 0f27121: Add doc rendering via starlight

Commits should have a subject line following the format <topic>: <description>. Please review the commit guidelines for more information.

in the file which is different from the algorithm of
[`gitoxide`][gitoxide-is-binary] or [`git`][git-is-binary]. Jujutsu
doesn't plan to align the binary detection logic with git.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fun story: this line cost me ~2 hours of debugging: the markdown implementations differ ever so slightly, and without this blank line, it doesn't recognize git-autocrlf as a link target.

@@ -0,0 +1,49 @@
# Starlight Starter Kit: Basics
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I probably want to make this more real before merge.

@steveklabnik steveklabnik force-pushed the steveklabnik/push-mouvqnmwpors branch 2 times, most recently from 0f27121 to 1b1ba1a Compare December 5, 2025 20:49
@github-actions github-actions bot dismissed their stale review December 5, 2025 20:49

All commits are now correctly formatted. Thank you for your contribution!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this should be switched to the bird before merge

@steveklabnik steveklabnik force-pushed the steveklabnik/push-mouvqnmwpors branch 2 times, most recently from dc38092 to 8e8bb2d Compare December 5, 2025 20:54
@steveklabnik
Copy link
Contributor Author

Oh also, I based this off of @senekor 's work over at main...senekor/starlight-docs, so would love a review from him especially.

This change adds a new docs deployment to /starlight/, and that's rendering the
documentation via Starlight: https://starlight.astro.build/

mkdocs is no longer being maintained, and we'd like to move away from it for
that reason. We've chosen starlight for two main reasons: first, it has a goal
of minimizing JavaScript on the front end, and that aligns with our priorities.
Second, it is based on Astro.js, which would also be a good tool for writing a
basic marketing site. The overall sentiment from community in the Discord was
leaning towards Astro when we were talking about this.

After a few days of checking out the new docs and making sure that things are
good, we can move to making this the default.

Part of jj-vcs#7959.

Co-authored-by: Remo Senekowitsch <remo@buenzli.dev>
@steveklabnik steveklabnik force-pushed the steveklabnik/push-mouvqnmwpors branch from 8e8bb2d to 307b486 Compare December 5, 2025 21:09
Comment on lines +1 to +3
---
title: Jujutsu Governance
---
Copy link
Member

Choose a reason for hiding this comment

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

Is this a markdown table? It looks like we're sacrificing readability in the GitHub-rendered form for better rendering with starlight. I suppose there should be little reason to look at GitHub's rendering, especially if we can get renderings from PRs with starlight, so we can review the rendered output. Oh, perhaps these new titles will not be rendered as a heading at the top of the page so this is more like a directive to starlight?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think preserving the title in GH's rendering is worth it, since it simplifies contributions.

Oh, perhaps these new titles will not be rendered as a heading at the top of the page so this is more like a directive to starlight?

Yes, that's the main reason.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants