-
Notifications
You must be signed in to change notification settings - Fork 26
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
Reorganize Effection Documentation #883
Comments
I love this type of hi-level thinking! It might help to use this as a consultation for something that has though about how to present documentation https://documentation.divio.com
|
👍 from me for this proposal. Regarding Scope: there 3 three aspects to it.
@cowboyd it occurred to me while looking at this list that we need a place to talk about Delimited Continuations. Maybe if we have an Advanced Section, we should put it there. We need to explain how operations work for any Effection core contributor, we need to have that information available for people who haven't yet engaged with us. It might be easy enough to record a screen-sharing session where you explain DC. |
For The current proposed structure is organized in such a way that we can provide a "top-down" book-like approach:
The biggest consideration I kept in mind while coming up with this structure was minimizing the risk of overwhelming readers, which is why I excluded an To maintain the top-down approach, putting a topic like this under One option would be to create a Another option would be to just include 🤷🏻♀️ |
So I've read through this, but I think we're playing a slightly different game than a "traditional" library. With a library like MUI or React, it's easier to follow the conventions they lay out. When we think about Material-UI, they're essentially offering paint brushes of different shapes and sizes. So they can start with a tutorial on how to use one paintbrush (which sets up readers to go on and fetch the thing they need without the need to read the entire docs), explain and illustrate all the paintbrushes they're offering, and provide how-tos on how to paint a duck or a swan. Basically, readers can learn to use Material-UI from any direction they desire. However, with Effection, the learning journey of it feels more structured and linear. It would be difficult for readers to jump straight to So this is all a long-winded way of saying it might be difficult for us to separate
|
We could create CONTRIBUTING.md file and add a link there to a document on Deliminited Continuation. Alternatively, we could just link to the continuations repository and add the information there. |
Yeah, I think the idea that "Advanced" usage would not include delimited continuations. Neither writing, nor understanding, so in that sense it's not really a use-case. It's more of an architecture. I do think that a section on "internals" might be appropriate where we can talk about:
These are all helpful things to know if you are working on Effection itself, but never if you are using it. |
@cowboyd what do you think about putting this information into the repository rather than the docs site? |
Yeah, that would be ok with me. Whichever medium works best |
I was reading through the effection v3 docs and had some ideas on better organizing its content:
Getting Started
This section should be reserved for content that prepares the readers for learning Effection. We want our users to be able to read top down without without having to jump
back and forthforward and back so it would make more sense to putTypescript
lower as it discusses Operations before it's been introduced, and the same goes for the currentfetchWeekDay
tutorial in theTutorial
page.This is also where we can add the new
FAQ
page (#811).Learn Effection
In the
Learn Effection
section, I'm proposing the following changes:Overview
page - this will be our "How to navigate these docs" page and provide a high level overview of the different components of Effectionrace()
,sleep()
,all()
,call()
,ensure()
, and whatever elseUtilities
as a placeholder but we can call it something elseScope
Other than the
Overview
page, each page should introduce a new API for consistency so I'm still trying to figure out where the best place would be forScope
. We could first introduce theThree Outcomes
section ofScope
inOperations
and sprinkle the rest in as we introduce more APIs. This way users can learn more about scopes incrementally.TL;DR
I think it would also be very helpful if each page started with a
TL;DR
that explains when a user needs to use{x}
. If we decide to create anOverview
page, we could take the short descriptions we write for the high level overview and just paste it into theTL;DR
sections.Tutorials
And in this section, we can put all the
How-Tos
. I think this place would be the logical place to putTypescript
andError Handling
as neither of these pages introduces any new Effection APIs and by the time the readers get to the tutorial section, they will have already read up onmain
/run
,spawn
,suspend
, and know what anOperation
is.We may want to create a separate section for
Examples
down the road but I think we can just put everything intoTutorials
for now.The text was updated successfully, but these errors were encountered: