-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
[Docs] Advanced Section #2256
Comments
I'd love to see "Writing an adapter", an analog of the invaluable Writing a plugin docs. I might even be able to help with a first draft if I can get help with #2347 to figure out the questions I have on how to do it. |
Thanks for the suggestion @donpedro! I've added it to the OP. If you have get all your questions answered and want to work on a first draft of the docs, let us know! |
Alright, I've got everything I needed to know figured out over on #2347. How can I help with docs? I've got a bit of experience now with Writing an Adapter, but I know we're talking here about "Advanced Docs"; I'm not sure how advanced my knowledge is, I was thinking something more on the level of the existing docs for Writing a plugin. So if you have need for beginner-level docs maybe I can help. Other things I could contribute if needed:
|
@donpedro Sorry for not following up here quickly, I've been traveling extensively and haven't had much time to dive in deeply. I definitely think we can use some help on the documents you are suggesting. How would you like to contribute? We could set up a GoogleDoc or just interact on a PR—either works for us! |
Great! Your call; either of those is fine by me! |
I'd like to touch up on "Writing a plugin" as well, but I have some questions before I want to attempt that. I would use the files from the tree https://github.com/gulpjs/gulp/tree/master/docs/writing-a-plugin and base the new documentation on that, I especially like the common example of It requires a lot of cutting content etc. but I'd like to touch up on that:
For the different stream/buffer examples I'd probably condense the code to explaining the general method-based plugin structure and then only show the different stream handling code examples, but I guess that's best seen once written down.
|
@pixeldesu Regarding the guidelines (I wrote them originally, and feel very strongly this was a good thing for us) they were intended for plugins that wanted to be shown on gulpjs.com - it's essentially acting as a quality barrier and a carrot at the end of the stick for people to do things the right way. This was all originally based on watching other plugin ecosystems go to shit, and trying to make sure ours didn't nosedive in a similar fashion. I still think being as explicit as possible in these guidelines of what not to do, and what to do to be featured on our website + generally be a good actor in the ecosystem is useful guidance - but obviously we can't force people to do anything, since anyone can publish gulp-* on NPM. If we want to rewrite them to be clearer and more concise I'm all for it - but I still think they should be strongly opinionated, even if it is outside of our responsibilities to tell people how to write their code (write tests, use streams properly, etc.). |
@contra it makes sense and I understand and agree with the goal of trying to hold a certain quality standard! I just feel like a lot of the implementation-related information makes more sense in the fitting code/example section (if you're interested in writing a plugin you'll get to read those anyway). Not completely dropping them but rearranging and simplifying them is probably a way to go. So, if we have a section in which we detail how to use streams, we can move the stream-related guidelines there and word them as a general best practise. This would fit at the moment as there is no strict enforcement of the key-points or manual checks by the maintainers. Once some kind of workflow (like automated acceptance testing) has been established, the requirements could be reworded into a must to be displayed on the plugin listing. Another example would be testing, which we also explain in the documentation, putting it into the developers hands and with that the best faith for them to also follow the example and implement it. In those regards it's probably best if I just started writing things down and leave it up to PR reviews where we can adjust everything as needed based on feedback. I understand the goals and try to work them in to my best ability! |
@pixeldesu Yeah, I think that it is probably best to give feedback with PR review. There are some things that we might need to drop until further work is done, and we might want to include changes coming in 5.0 |
We haven't written an advanced section as part of our documentation updates.
Some of the topics we want to cover are:
This list may be added to as we come across more.
Feel free to suggest additional topics!
The text was updated successfully, but these errors were encountered: