Skip to content
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

Plans for CLNDR 2.0 #155

Closed
kylestetz opened this issue Mar 9, 2015 · 4 comments
Closed

Plans for CLNDR 2.0 #155

kylestetz opened this issue Mar 9, 2015 · 4 comments
Milestone

Comments

@kylestetz
Copy link
Owner

Building on our desire to collaborate with and seek feedback from the community, we're going to outline what the future of CLNDR 2.0 looks like based on some plans we've hashed out.

I've brought @jsumnersmith onto the project as a collaborator— he and I are working through the new version together and he's helping me turn this from my project into a Team Effort™. If you've expressed interest in lending a hand, here's where it's headed. If this is exciting and you see a way that you can contribute, give a shout!

The Code

The bulk of the work clndr does has nothing to do with the jQuery/ the DOM. It's mostly about taking date ranges and events and producing a well-formatted array of date objects with events interspersed. What @jsumnersmith and I realized is that this should be a separate module, the working title for which is gregorian.js. Clndr will simply wrap gregorian.js and introduce DOM templates and events through jQuery. This means that anyone using an MVC framework like backbone, angular, meteor, etc. will be able to use gregorian.js (following Clndr's example) and dispense with the particulars of the jQuery plugin. This also means that the server-side node.js code can exist in a separate module called node-clndr.js that removes the need to write everything isometrically! Everybody wins. Imagine also rails-clndr.js, django-clndr.js, etc.

Just so there's no confusion, the modules that @jsumnersmith and I will be writing are the new clndr.js, gregorian.js, and node-clndr.js. The rest will be up to the community!

To do all of this we will be creating a github organization called "clndr" that will house gregorian.js, clndr.js, and any other related modules we need to create. This is great in the event that other folks want to make clndr-angular, clndr-meteor, etc. since we can add them to the organization and put it all in one place. It's all about the ecosystem, which brings me to my next point...!

The Ecosystem

When I wrote clndr I intended for it to be used by experienced developers. Folks just starting out wanted to use it too, and it grew to accommodate them, but I don't feel that beginners have ever gotten the support they really needed. That's going to change with 2.0— we are going to create a system of documentation that assumes much less knowledge, and we're going to provide simple, neatly-packaged code samples that can be used as starting points. We want clndr to be accessible for everyone regardless of their skill level.

If you have any thoughts, feel free to share them here!

@elidupuis
Copy link
Contributor

Really great to hear the core will be split out into its own module! So much more flexibility 👍

@13protons
Copy link

I'm being pulled towards CLNDR as a solution for my own site. It's a hybrid static jekyll site with a thin node server for handling a few specific routes, so I'd be happy to help contribute and test v2

@kylestetz
Copy link
Owner Author

Awesome @alanguir! The next step is for us to architect gregorian.js, at which point we'll be looking for feedback on the API (which clndr will inherit).

@kylestetz
Copy link
Owner Author

See #136 for an update on the status of clndr 2.0. We won't be pursuing a rewrite of the project for now, and instead we're cleaning up the codebase to ensure that this project continues to be maintainable and easy to contribute to!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants