I've been actively contributing to CDNJS for the past couple of weeks and it has been a truly delightful experience working with CDNJS maintainers and fellow contributors. They've been highly supportive.
In the process of contributing, I've come to realize how important CDNJSs mission is for developers. However, with great power comes great responsibility.
Open source projects are usually self-promoted by their easy to read, organized, and exhaustive documentation. Great examples include Backbone.js, Can.js, jQuery++, Underscore.js, jQuery, HTML5 Boilerplate, Require.js, Twitter Bootstrap, and many more. Just as writing good code and great tests are important, excellent documentation helps others use and extend a project.
The current CDNJS documentation is good. It's pretty good when compared to majority of the open source projects hosted on GitHub. However, it can be better.
Currently, the following places loosely host the documentation for CDNJS:
In my opinion, these are few of the problems with the current documentation:
GitHub Wikis are a place in your repository where you can share long-form content about your project, such as how to use it, how it's been designed, manifestos on its core principles, and so on. Whereas a README is intended to quickly orient readers as to what your project can do, wikis can be used to provide additional documentation.
Wikis can be edited directly on GitHub, or you can work with a text editor offline and simply push your changes. Wikis are also collaborative by design.
If the maintainers of CDNJS are comfortable with it, I'd like to work on revamping the documentation using wiki pages. Right now, we can start with a roadmap of issues that need to be solved and work on them one-by-one.
cc @PeterDaveHello
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
@dakshshah96 thanks for your proposal, it looks cool, and we'll need some time to have a detail plan about how do we do that, give me more time to think about it, and feel free to have a talk on https://gitter.im/cdnjs/cdnjs, thank you again!
cc @cdnjs/dev @cdnjs/team-cdnjs
For now, it feels like we should stick to a single CONTRIBUTING.md file for our contribution guidelines since that'd be a more straight forward approach. Here's a rough roadmap of the new contribution document I'm proposing. Please feel free to suggest any changes.
package.json
file: talks about the most important file for any library on CDNJSpackage.json
filepackage.json
filepackage.json
using the fix format tool.map
files for debugcc: @PeterDaveHello Please let me know if anything is missing in the roadmap. Once we have this finalized, I can start working on this. I already have a lot of content from this ready with me. ๐
@dakshshah96 looks thorough. Couple of questions though:
@drewfreyling Thanks for the feedback.
Just replicated what's mentioned in the pull request template โ "Pull request is sending from a non-master branch with meaningful name".
Regarding the basics โ This is a huge step towards making the project more beginner-friendly. Since my time here on cdnjs, I've noticed a large number of pull requests coming from first-time contributors. Many of them are confused about the basics and we, the maintainers have to spend time in explaining them individually in the PRs. Including this information in the document would make maintenance easier. This will also encourage many people who wouldn't have contributed because they had no idea on how to get started in the first place. That's the spirit of open source after all ๐
LGTM ๐ , I believe those whom have enough git skills would bypass some of the doc sections by themselves.
@dakshshah96 would you like to help correct all the English issues in current doc, so that we can have a better doc before the whole new doc written?
@PeterDaveHello Yes. Definitely! I'll make a PR soon.
@dakshshah96 Great, thanks
Hi @dakshshah96 and @PeterDaveHello. I was wondering if you still need some help in copy editing the documentation? I'd be glad to contribute to the project. I'm completely new to the open source community but I have some editing experience. I noticed a few minor things with the README.md for example.
@LeaSak sure thing and thank you! You're very welcome to join! I think @dakshshah96 is in busy right now, if you don't mind, I'd hope if we can have some minor fix of current document, just about the grammar or spelling issues, the not so big changes. What do you think?
@PeterDaveHello, Great! I'm excited to help. Yes, I mean what @dakshshah96 described as minor above, just spelling, grammar, punctuation. I'll start with the README.md and send my suggestions as a PR if that's okay?
@LeaSak Sure thing!
cc @AmNotADev
Before in the next few days, I will be handling the initial commit to the new-docs repository with drafted documentation clearing all of the docs issues here on this repository.
I will be moving all issue responses over there until we can get all of the documentation finalized. Please follow up with me in this thread if you have questions or concerns you want me to take into account before I finish my drafts.
To give an overview of tasks, the new docs will include (with some extras thrown in as needed):
Looks good! It'd be nice if you set up the new-docs repo with GitHub pages as well using jekyll or something for now to make the docs easy to read.
cdnjs has changed quite significantly since this issue was created and even since the last update was posted here -- package configurations are now based out of cdnjs/packages with a completey new auto-update system. We've also got the start of new docs being written there.
As such, I think it best this is closed for now and we can look at creating new issues where relevant for new docs as needed (eg. the WIP new website may need User agreement/Privacy policy docs).