Doks – Build a Docs Site
getdoks.org
getdoks.org
This is difficult in every docu system.
We switched the iommi docs from markdown to rST for this and many other similar issues of rST being more powerful.
You want to support simple text features in a forum or comments on a website? Markdown is perfect. You want to support basically every documentation feature imaginable while still retaining reasonable ease-of-use? ReStructuredText is the way to go.
Unfortunately restructure text is not nearly as popular as markdown and so lots of other tools I want either don't exist, or are out of date.
rst (and sphinx) are also one of the few (open source) options which have some support for multiple modalities.
It's not completely optimal. I do wish M↓ supported things like admonitions (callouts for warnings, notes, todos) better, in particular, since our docs are rife with those.
I understand there's a couple of .md forks dedicated to solving some of the problems with complex docs, but the trap phrase there is "a couple of forks". One writer goes with MDX, another writer uses a Jekyll script, another writer uses MultiMarkdown . . whoops! Broken pubs system.
I understand Markdown, and I like it. I like it a LOT[1]. But it's not for every use case.
[1] It led the charge against the XML Publications Fortress, which had[a] locked down documents inside of an ivory fortress for decades. Curious what the doc looks like? Want to contribute? TOO BAD. But then came Adam Schwartz on his White Horse, and the world was changed.
[1.a] And continues to lock, in many industries.
Supports Markdown, Markdoc (powers Stripe docs & is what we're using), MDX, and of course HTML. Since it's built on Astro, it's super easy to extend with React, Vue, Svelte, Solid, or Qwik for interactive demos, code sandboxes, or other more complex features.
A couple of the problems with MkDocs: - Themes available don't look really good, more thrown together than engineered. Most use MkDocs Material, the best features of which are paywalled. - The MD rendering is weird,for example only some levels of indentation work for lists, breaking pages that work properly with other renderers. Another, more opinionated, example would be the odd admonition syntax.
[0] https://react.dev/reference/react-dom/server/renderToStaticM...
Its question o familiarity if you are not aware of react than it would take even more time for you to learn it and use it than ssg frameworks.
you can still use your familiar html/css/js if you want to without learning whole ssg almost all ssg frameworks provide a way to code html/css if required.
ssg's are battle tested when it comes to myriad seo features like twitter cards/og/json-ld/schema etc. which are proven to be working in the field. When you go for rolling out on your own you will end up in solving lot of edge cases that different platforms(twitter/fb/google) have that would result in cover image not being displayed properly to site not appearing in google etc.
It seems to have some pretty basic bugs? Teletype renders as censoring, essentially: https://i.imgur.com/fyi32mR.png (what I can only presume is a light mode/dark mode half & half type situation…)
That doesn't convince me it's ready for prime time, though.
Screenshot taken on Firefox 123.0, on macOS 14.1.
These things are almost always bugs in JavaScript running on the site, IME.
If I inspect a tt, it's setting a background of slate (black), and a foreground of "inherit", which is black. This is just messed up CSS, and the inspector seems to indicate that the JS on the page is crashing, and I see there's a sun/moon hieroglyph in the corner, i.e., there's JS for controlling light/dark mode.
It seems like the code responsible for the light/dark mode must run one of these two things:
document.documentElement.setAttribute('data-bs-theme', 'dark')
document.documentElement.setAttribute('data-bs-theme', 'light')
If neither happens, the page is left with the default styling, which is a bizarre mix of light/dark mode and contains the issues I've screenshotted.Neither happens, because slightly prior to that, the JS makes a call to a fallible function, and then subsequently fails to handle the error case. The uncaught exception kills it before it can call one of the two above lines, so we're left with a page with broken styling.
It's a JavaScript bug.
The "Showcase" section just shows a bunch of non-docs stuff. Why would I use this instead of readthedocs, gitbook, docasaurus, or any of the million others?
Also... generic markdown?
And a lot of their other pages and the overall look & feel too seem copy/pasted (authoring, getting started...).
Not that this have huge value, but it doesn't bring confidence and I just made my doc on Starlight I would've like to see a page comparing the two since they're very similar. Why going with this one over the competitors ?
https://github.com/gethyas/doks/releases?page=4
Oldest GitHub release for Starlight appears to be from 2023:
Thanks for the check, but weird none of the solutions put the other one in their environmental study.