-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
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
Docusaurus 2 #789
Comments
+100 for moving the layout and styling outside Docusaurus' scope. |
Thanks so much for staring the planning process here @yangshun. These are wonderful. I will say a request for a local/offline search option should be considered for v2 as well -- we have had that request multiple times as well. Also, I feel it is important to reiterate this -- no matter what features we add for v2, we always want to make sure we adhere to the overall mantra of Docusaurus which is "easy to create a documentation website", with the emphasis on "easy". It is always a tricky balance to add a bunch of features and keep things as simple as possible. |
This is exciting. webpack 🎉. Extra things that I think will be great to have
Questions
|
Added a section about search.
Yes! No worries we'll stick to this. It might just be troublesome for v1 users to migrate to v2 due to some potentially backward-incompatible changes we're making. |
Whether we do this for 1.3+ or v2, we should also considering standardizing on one or both of the following:
|
Let's also think about integrating autogen systems into an upcoming version - see #78 |
Adding Docusaurus format support to hh-apidoc is not a Docusaurus v2 feature necessarily, but we can consider as something to help grow the use of it. |
Ultimately I think it should be hh-apidoc's responsibility to provide documentation/metadata in a good format for docusuarus when wanted - but for user experience, it would be good if docusaurus were aware of it and would suggest/configure running it as part of the docusaurus build process rather than needing a separate predecessor step |
+1 for offline search using |
It would be nice if #852 could be addressed as part of v2. |
I really hope that Docusaurus can keep its initial simplicity; v2 sounds nice but there are several things I'm slightly worried about. By simplicity, I mean both the interface and implementation (I'll explain why I care about the latter, aside from being an occasional contributor/debugger myself, at the end). Docusaurus' rather solid, that and the crowdin support are the two reason why we switched away from other ultra ambitious generators with a complex webpack pipeline that failed to handle three digits number of markdown files... Specifically:
Yeah this is definitely a pain point we felt on the user side! I've noticed/filed/fixed a few of these.
Not too sure what this means; isn't it glanceable in
Making it pluggable seems to always come with a tradeoff (relevant). I'm imagining that when I read the supposedly new siteConfig, I might see a list of clean but super opaque require calls instead of a js object config? This is what happened with other static generators. The complexity is hidden by all the third-party plugin
It's been quite fast from my experience; it's less of our business from the user side, but I'd love to see the Docusaurus codebase staying simple. It would be nice if
We switched to Docusaurus to avoid some of the more hardcore webpack and ecosystem problems. At the worst time, I was cherry-picking and deploying things manually each push. cc @rickyvetter who'd concur. Actually, the watcher mode and the startup time has regressed quite a bit these days, but I didn't have the heart to point it out because Docusaurus has been serving us well 😅. It'd be nice to have it fast again... in fact, that's probably one of my biggest request. And I don't mean overengineer the pipeline to get a fast lazy startup; I mean the "good old days" where the startup was simple enough to stay within 1-2s. Webpack will blow past that budget.
Most other CSS preprocessors aren't much of a step up from basically regexes lol. Given CSS' syntax, a single regex pass isn't actually that hacky; you might replace some words in comments but that's pretty much it. The one from Docusaurus has been blazing fast so far, so that's nice. But given that a preprocessor is opt-in, and given its limited scope, I think letting userland customize it sounds fine. Aka we don't pay the price for not using them, aside from maybe one or two checks in Docusaurus codebase.
We're such folks, for all 3 sites. But I'd rather keeping up with the very occasional small layout breaking changes (very quick to check the css changes from changelog and fix them) than having them overly customizable (the point being that such customizability will probably affect Docusaurus' current setups).
That has been very fine so far! Kinda like how non-nonsense it is.
Yeah fixing those would be great!
Oh yeah, a custom URL redirect json config would be sweet. We made our own for our sites by essentially putting dummy placeholder redirect pages. Anyway, the gist is that, we really appreciated Docusaurus' non-nonsense toolchain, and whatever depth-related improvements (like even better page layout) are super welcome. Reaching too much for breath and becoming essentially another "website compiler" seems a bit much; after all, we do want to just focus on the documentation, and no matter how hard folks try to compiler-fy websites to regain the ease of use, simplicity and performance, we've not seen such effort that hasn't leaked hard into userland so far. Won't point fingers though. Also, sorry if some of the spirit I've summarized here wasn't part of Docusaurus' initial goal; we might happen to have piggy backed on top of it. Thanks a lot for your continued work 😃 |
+1 for Gatsby.js. This would make Docusaurus so flexible and modular |
Can we have a roadmap for v2 like this? react-navigation/react-navigation#4434 @yangshun |
@chenglou Thank you so much for your thoughtful feedback. I am in 100% agreement with your overall premise that Docusaurus needs to be true to its original charter of "easy and simple" for open source websites. I believe the v2 leads, @endiliey and @yangshun, understand that and believe that too. The |
A more detailed v2 document can be found here. Comments are welcome! Would like to give interested parties a heads up that v2's progress is delayed due to manpower constraints on our end (no one full-time working on the project). We hope to have a beta ready by mid 2019, dogfood on Facebook's Docusaurus sites, and launch in Q4 2019. |
That said, if anyone is interested in joining our effort as a direct contributor to v2 (or maintainer of v1), let us know. We would love the help. |
@yangshun @JoelMarcey I've been following the project for a while now. Have 10+ year experience in front-end development, lots of React+webpack work and would be able to commit time to join the effort on getting 2.0 launched. |
@yangshun, @endiliey -- what is the best way for @ymschaap and @HenryStevens (who I chatted with offline) to get started helping with v2? |
This might need more discussion. But one of the useful thing that can be done for those who wanted to help with v2 is to actually test & play around with the on-going v2 implementation There is an instruction on how to run it locally. Edit: Alternatively, join us on discord |
didn't see this on the list: per language assets. useful when images contain information that needs to be translated. |
Perhaps I can explain more specifically what I am looking to do and you can see if this is something you may want to add to v2, but more importantly I would appreciate some guidance on how I might accomplish it with v1. We have versioned docs and need to display different content to users based on which version of the docs they are looking at. We want to be able to identify what should be replaced in the markdown using something like this |
I am migrating my companies product documentation to Docusaurus, and a lot of our pages are referenced by other pages. It would be nice to have a reference mapping file in which I can add all of the link ids and the link address they map to, then in my docs pages just enter the link id and have it pull the link address from the mapping file. If this is currently possible could someone please let me know how this is done. |
Is there a rough timeline for the beta and full releases of v2? |
Is there any estimated release time or something? |
Proposal: Evergreen documentationI don't think this should be implemented into Docusaurus, but to keep in mind. From times to times it happens that docs remain behind code. This package allows to validate documentation files Are there other alternatives? |
There is no rough estimated timeline, but I guess we're pretty close to beta at least. If you want to see it shipped faster, try it today https://v2.docusaurus.io/ and give feedback. We don't want to release unready version, that's why we opt-ed to stay in alpha as much as we can to ensure its stable and we "do it right". Actualy, many are using alpha versions for production. It has matured, docsearch is using it, CRA is using it and actually we're planning to migrate Redux's site soon to use the alpha version. Breaking changes has been very easy so far, as long as you know basic React and JavaScript. Some people are adventurous enough as well with the customization. Example: |
What's the timeframe for v2 coming out? |
@Berkmann18 Hi. As you may or may not know, a generally stable alpha of v2 is out now - https://v2.docusaurus.io. Sites, including those from Facebook Open Source, are using it. The reason it is not "fully released" yet is that it is missing a key piece of functionality that is currently in v1 -- localization support. That is being worked on now. If you don't need that, then you might find that v2 already serves your needs. To answer your question though - v2 replacing v1 (i.e., v1 is deprecated) hopefully sometime in the next couple of months. |
@JoelMarcey In that case, I guess I'll wait then as the project where we use Docusaurus relies on translations provided via Crowdin. |
Is there any documentation regarding Infima theming variables or an ETA for Infima source code release? |
@honi apart the website and inspecting, source is not yet available. FB policy is not really to publish projects that are not ready. But Infima is probably not very far. We'll see how to make this available soon. |
I created this simple CSS gist that shows how you can add Line Numbers to code blocks. https://gist.github.com/uditalias/3969a20ef759bf3a8757499429b30063 You can see it in action here: https://www.injex.dev/docs/api/core/decorators/inject |
Following from #789 (comment), are there good issues to subscribe to for people who are waiting on localization support? I see #3524 for the Jest website, which has big localization requirements I assume. Are there any others? I’m considering Docusaurus for a big documentation site, localization support is a hard requirement, it’s unclear how far ahead Docusaurus v2 is with this in particular. |
@thibaudcolas sorry for not communicating much about progress. Let's track progress in the i18n RFC issue where I'll mention important updates about i18n. I've just added a comment to answer your questions: Let me know in this issue if our i18n system is good enough for you. |
The core features of Docusaurus 2 have been implemented and we moved to beta recently, so let's close this issue |
Update 03/19/19
We have started a Roadmap/Feature requests page thanks to the awesome folks at Canny.io. Have a go at it on our WIP v2: https://v2.docusaurus.io/feedback/
These are some of the problems I'm seeing in Docusaurus now and also how we can address them in v2. A number of the ideas here were inspired by VuePress and other static site generators.
In the current JavaScript-based static site generators ecosystem, there are the following libraries:
Useful libraries
My proposal for D2 is that Docusaurus be responsible for documentation content, routing, translation and versioning, leaving layout and styling to the end user. Docusaurus would provide a default theme and a few common layouts that the user can use, or ignore if they want to build their layout from scratch. It's not a good idea for Docusaurus to maintain the entire layout and styling as these stuff are hard to make improvements without breaking existing users' code.
A Google Doc where we go into more details can be found here
D2 Design Principles
D1 Problems and Proposed Solutions
Infra
Current Problems
process.cwd()
too much (mostly for siteConfig), making it very hard to test.Suggested improvements
HTML/CSS
Current Problems
Suggested improvements
JavaScript
Current Problems
dangerouslySetInnerHTML
.Possible improvements
API
Current Problems
docusaurus <command>
(instead ofdocusaurus-command
) which is more conventional (see Yarn and Git).Possible improvements
docusaurus
core. This also solves the problem of having to publishdocusaurus-init
as a separate package.Blog
Current Problems
Possible improvements
Markdown
Current Problems
Possible improvements
Search
Current Problems
Possible improvements
These are my two cents. Feel free to chime in (:
The text was updated successfully, but these errors were encountered: